Если это всего лишь один или два пользователя, то самым простым способом является удаление пользователя базы данных из восстановленной базы данных, переназначение пользователя базы данных на вход в систему с помощью SSMS. Если логин сервера не существует, просто создайте его, сопоставьте пользователя.
Вариант 2: Если вы переносите большое количество пользователей, используйте sp_help_revlogin. sp_help_revlogin - это хранимая процедура, предоставленная Microsoft, которая поможет переносить логины с одного сервера на другой, включая пароли и SID. Вот хорошая статья об этом SP_HELP_REVLOGIN: http://www.databasejournal.com/features/mssql/article.php/2228611/Migrating-Logins-from-One-SQL-Server-to-Another.htm
Патч-код, который поможет ему: выполнить следующий запрос T-SQL в Query Analyzer. Это вернет всех существующих пользователей в базу данных в панели результатов.
USE YourDB
GO
EXEC sp_change_users_login 'Report'
GO
Запустить следующий запрос T-SQL в Query Analyzer, чтобы связать логин с именем пользователя. Атрибут «Auto_Fix» создаст пользователя в экземпляре SQL Server, если он не существует. В следующем примере «ColdFusion» - это UserName, «cf» - пароль. Auto-Fix связывает запись пользователя в таблице sysusers в текущей базе данных с логином с тем же именем в sysxlogins.
USE YourDB
GO
EXEC sp_change_users_login 'Auto_Fix', 'ColdFusion', NULL, 'cf'
GO
Запустить следующий запрос T-SQL в Query Analyzer, чтобы связать логин с именем пользователя. 'Update_One' связывает указанного пользователя в текущей базе данных для входа в систему. логин должен уже существовать. пользователь и логин должны быть указаны. Пароль должен быть NULL или не указан
USE YourDB
GO
EXEC sp_change_users_login 'update_one', 'ColdFusion', 'ColdFusion'
GO
2) Если Войти учетная запись имеет разрешение на падение других пользователей, выполнять следующие T-SQL в Query Analyzer. Это приведет к потере пользователя.
USE YourDB
GO
EXEC sp_dropuser 'ColdFusion'
GO
Создайте тот же самый пользователь снова в базе данных без ошибок.
Это в восстановленной базе данных? – DenStudent
Я восстановил базу данных, но как я могу определить, восстановлен ли она или нет? извините, не знакомы с этими вещами –