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

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

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

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

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

1 ответ

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

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

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

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

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

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

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

Другие вопросы по тегам