Назначить логин пользователю SQL без логина

2146
Damn Vegetables

Среда: SQL Server 2012 Express Edition и Microsoft SQL Server Management Studio. Все пользователи являются локальными пользователями SQL, а не Windows-аутентификацией.

Я приложил файл базы данных, который пришел с другого сервера SQL. В узле «Сервер / Базы данных / Импортированная база данных / Безопасность / Пользователи» он содержит пользователей для базы данных, но их типы - «Пользователь SQL без входа в систему». Кажется, что они не могут войти в этот сервер SQL.

Сначала я подумал, что могу создать пользователей с одинаковым идентификатором в «Сервер / Безопасность / Логины» и сопоставить их с пользователями в импортированной базе данных. Он создал пользователей, но с ошибками (пользователи уже существуют), а состояния пользователей в импортированной базе данных по-прежнему «пользователь SQL без входа в систему»

Я искал Google, но все ответы были некоторые сложные сценарии. Если это распространенный сценарий, почему нет простого графического интерфейса для него? Как проще всего сделать так, чтобы пользователи в импортированной базе данных могли входить с одинаковыми учетными данными?

0

1 ответ на вопрос

0
Milena Petrovic

Там нет GUI, вы должны сделать это вручную.

Прежде всего, вы должны различать пользователей SQL и логины.

Имя входа связано с экземпляром SQL Server и имеет разрешения на сервере. Один логин может быть связан с несколькими пользователями.

Пользователя связана с базой данных и имеет разрешение на доступ к конкретной базе данных.

Принципалы (СУБД)

Когда вы присоединяете базу данных, созданную на другом сервере, вы переносите имена входа, связанные с ней, на исходный сервер, но имена входа SQL не передаются, так как они определены на сервере, а не в базе данных. Резервная копия базы данных или файлы MDF и LDF не содержат информацию о входах в систему SQL, а только о пользователях базы данных. Поэтому сообщение об ошибке.

Используйте шаги и сценарий, приведенные здесь, чтобы перенести исходные имена входа в новый экземпляр SQL Server. Как передать имена входа и пароли между экземплярами SQL Server