Почему необходимо удалить, а затем повторно добавить пользователя в базу данных SQL Server после восстановления его из файла? - PullRequest
1 голос
/ 17 мая 2010

Почему необходимо удалить, а затем повторно добавить пользователя в базу данных SQL Server после восстановления его из файла?

Если я этого не сделаю, я получаю «Ошибка входа пользователя» при попытке доступа к базе данных с использованием этого имени пользователя из приложений.

Ответы [ 3 ]

2 голосов
/ 17 мая 2010

Это необходимо сделать, чтобы синхронизировать пользователя базы данных с именем входа на сервер.

SQL сначала аутентифицируется на уровне сервера, а затем на уровне базы данных. Хотя имя входа в базу данных может иметь то же имя, что и имя входа на сервере, нет гарантии, что это фактически одно и то же имя входа. (В конце концов, резервная копия файла может быть получена с другого сервера.)

Удаляя и повторно добавляя пользователя на уровне базы данных, вы подтверждаете, что у входа на сервер есть доступ к базе данных.

1 голос
/ 17 мая 2010

Возможно, SUID изменяется после восстановления. Прочтите эту статью, в которой приведены объяснения решений, таких как передача имен входа и паролей и разрешение проблем с разрешениями пользователей при восстановлении базы данных.
http://support.microsoft.com/kb/168001

0 голосов
/ 17 мая 2010

Я знаю, что это очень утомительно на практике, но у нас нет никакой возможности удалить и добавить пользователя базы данных.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...