Ошибка в SQL Server при сетевом программировании

#c# #sql-server #networking

#c# #sql-сервер #сеть

Вопрос:

У меня есть 2 базы данных. Первый создается SQL Server Express, а второй создается программно.

Я могу легко работать с ними, но проблема возникает, когда другой пользователь хочет войти в них. Я попытался добавить пользователя в свои базы данных с помощью Create user[DomainUser] for login ... команды.

Эта команда сработала для первой базы данных, но для второй я получаю эту ошибку:

«Участник сервера ‘Domain User’ не может получить доступ к базе данных ‘DBName’ в текущем контексте безопасности».

или эта ошибка:

ошибка входа для этого пользователя

Обратите внимание, что моя программа используется в сети.

пожалуйста, помогите мне

Комментарии:

1. Пожалуйста, более конкретно о вашей второй базе данных и о том, как вы пытаетесь получить к ним доступ. Используете ли вы веб-приложение?

2. Покажите нам, как вы программно создаете свою вторую базу данных!

3. Чтобы использовать CREATE USER..... FOR LOGIN... , вам сначала нужно было бы создать логин , используя CREATE LOGIN ......

4. Нет, я использую приложение Windows. я использую этот код для создания моей 2-й базы данных: «СОЗДАТЬ БАЗУ ДАННЫХ MyDatabase На ПЕРВИЧНОЙ » «(ИМЯ = MyDatabase_Data, » «ИМЯ ФАЙЛА = ‘myPath \MyDatabaseData.mdf’, » «РАЗМЕР = 2 МБ, РОСТ ФАЙЛА = 10%) » «ВОЙТИ В СИСТЕМУ (ИМЯ = MyDatabase_Log, » «ИМЯ ФАЙЛА = ‘myPath \MyDatabaseLog.ldf’, » «РАЗМЕР = 1 МБ » «ПРИРОСТ ФАЙЛА = 10%)». Я также использовал Create Login, но получаю «Основной сервер… » ошибка

Ответ №1:

Просто предположение: если пользователь и сервер находятся в домене, в сети могут возникнуть какие-либо проблемы. Вы должны добавить логин к экземпляру и назначить его базе данных вместе с ролями для пользователя.