이것은 어둠 속에서 찍은 사진이므로 시간을 낭비한다면 용서해주십시오.
또 다른 포스터는 주어진 사용자가 시스템에 대한 ID와 특정 데이터베이스에 대한 ID를 가지고 있다고 언급했습니다. 이는 동일한 로그인/사용자 이름에 대해 master.sys.syslogins와 dbname.sys.users 사이의 sid를 비교하여 입증 할 수 있습니다. 마스터 데이터베이스의 자체 복사본이있는 다른 SQL Server에서 백업을 복원하는 경우 sids가 일치하지 않습니다.
Sql Server 2005는 많은 고통없이 시스템 테이블을 직접 편집 할 수 없습니다. = '신고'을 보여줍니다
사용자가를
를 sp_change_users_login의 @ 작업이 GO 어떤
사용 DBNAME : 일치하는이 잘못 함께하기 위해, 그들은 당신이 그들을 해결하는 데 도움이 저장 프로 시저를 추가 dbName.sys.users 항목은 있지만 master.sys.syslogins는 없습니다. 또는 양쪽 모두에 이름이 있지만 sids에 따라 다릅니다.
는 사용자가 동기화를 벗어 났음을 보여줍니다 경우, 절차도 연결 변경할 수있는 모드가 있습니다
사용 DBNAME 이 를 sp_change_users_login 'Update_One', 'userNameInDbUsers을'GO '를 UserNameInLogins'
sid가 일치하지 않는 것이 문제가되지 않는다면 Sql Server 2005에서도 정말 엉망입니다. GUI는 특히 버그가 있습니다.이 같은 문제를 해결하려면, 사실 (GUI 또는 DROP 로그인 명령을 통해)을 syslogins 항목을 삭제했다
를 sp_change_users_login : http://msdn.microsoft.com/en-us/library/ms174378(SQL.90).aspx
드롭 로그인 구문 : http://msdn.microsoft.com/en-us/library/ms188012(SQL.90).aspx
2000> 2005에도 적용되는 답변입니다. – Turnkey
또는 심지어 2000 -> 2000, 모든 사용자가 마스터 데이터베이스에서 연관된 ID를 가져 오면 db에 연결된 사용자가 표시 될 수 있지만 사용자가 마스터에서 일치하는 ID를 갖지 않으면 계정이 실패합니다 로그인하기. db에서 사용자를 삭제 한 다음 sever 보안 작업에서 다시 연결합니다. – Adam