Mssql 데이터베이스 복원을 할 때
데이터베이스는 복구를 했고 사용자를 만들었음에도 웹서비스인 경우 아래와 같은 에러메세지가 뿌려 질때가 있다.
—————————————————————————————-
Microsoft OLE DB Provider for SQL Server 오류 ‘80004005’
로그인에서 요청한 데이터베이스 “stildb”을(를) 열 수 없습니다. 로그인이 실패했습니다.
—————————————————————————————-
그건 복구한 데이터베이스의 사용자 와 mssql 서버의 사용자가 같이 않아서(?) 발생되는 결과이다.
더 복잡하게 말하면 복구된 데이터베이스는 기존의 mssql 시스템의 사용자를 기억해서 복구되는 mssql 시스템에서의 같은 사용자를 이름만 같은 다름 사용자로 인식을 한다
그래서 같은 사람이라고 말해주면 된다.
즉, 매핑을 시켜주면 된다.
그러기위해 사용하는 명령어가 sp_change_users_login 이다.
ex)
USE hisdb
go
EXEC sp_change_users_login ‘Update_One’, ‘hisuser’, ‘hisuser’