Проблема входа в SQL Server 2012 с восстановленной базой данных - PullRequest
0 голосов
/ 22 октября 2018

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

Я получаю эту ошибку:

System.Data.SqlClient.SqlException: сбой входа для пользователя 'домен \ пользователь'.

Я использую технического пользователя Active Directory в своем веб-приложении.

Я запустил эту строку из-за пользователя:

USE database;    
ALTER USER [domain\user] WITH LOGIN = [domain\user]

Я попытался восстановить его в SSMS, и с помощью этого кода тоже:

USE master;
GO

RESTORE DATABASE database
FROM DISK = 'U:\BACKUP\database.bak'
WITH RECOVERY,  
MOVE 'database' TO 'U:\DATA\database.mdf',
MOVE 'database_log' TO 'V:\LOG\database_log.ldf';
GO

Я добавил db_datareader и db_datawriter и даже роли db_owner для технического пользователя.

Я не знаю, в чем проблема.

ОБНОВЛЕНИЕ
исходная версия SQL Server 11.0.6567.0, целевая версия 11.0.7001.0.

ОБНОВЛЕНИЕ 2

Я пробовал это:

EXEC sp_change_users_login 'Update_One', 'domain\user', 'domain\user'

но выдает эту ошибку:

Завершение этой процедуры.Имя пользователя «домен \ пользователь» отсутствует или недействительно.

1 Ответ

0 голосов
/ 22 октября 2018

Необходимо сопоставить имя входа (сервер sql) с пользователем (база данных).

После восстановления выполните эти команды в следующем порядке:

CREATE LOGIN [domain\user] from windows

и

USE database;    
ALTER USER [domain\user] WITH LOGIN = [domain\user]
...