Изменить имя пользователя - PullRequest
4 голосов
/ 30 марта 2009

У меня проблема при восстановлении резервной копии базы данных DB_1 в базу данных DB_2. но имя пользователя для пользователя dbo отсутствует (). Как я могу воссоздать имя пользователя? я использую SQL 2000

Ответы [ 3 ]

1 голос
/ 10 августа 2009

То, что у вас здесь, называется осиротевшим пользователем. т.е. пользователь существует в базе данных, которую вы восстановили, но он не настроен как логин на сервере базы данных.

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

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

USE restored_database
GO
exec sp_change_users_login @Action='Report';
GO

Чтобы заново создать базу данных при входе в систему и связать ее с восстановленной базой данных, выполните:

EXEC sp_change_users_login 'Auto_Fix', 'user', 'login', 'password'
0 голосов
/ 23 сентября 2009

Вызовите sp_dropuser 'user' в восстановленной базе данных.

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

0 голосов
/ 30 марта 2009

Добавьте 'sa' в качестве владельца базы данных, поэтому добавьте 'sa' в роль владельца базы данных каталога DB_2, прежде чем восстанавливать резервную копию этого каталога.

Кстати, извините, если я звучу грубо, но stackoverflow в основном предназначен для вопросов программирования, а не для вопросов системного администратора, я думаю, если вы зададите свой вопрос на плате, ориентированной на sqlserver, вы получите больше ответов.

...