DBAtlas · 데이터베이스 운영 아틀라스

916: The server principal is not able to access the database under the current security context (서버 보안 주체가 현재 보안 컨텍스트에서 데이터베이스에 접근할 수 없음)

SQL Server

의미

로그인이 특정 데이터베이스에 접근하려 했지만 현재 보안 컨텍스트에서 접근 권한이 없다. 로그인은 서버에 연결할 수 있지만 대상 데이터베이스에 대응하는 사용자/권한이 없다.

원인

로그인에 매핑된 데이터베이스 사용자가 없거나(orphaned 또는 생성된 적 없음), 데이터베이스 접근이 제한되어 있거나, guest 계정이 비활성화되어 있다. 흔한 사례는 SSMS Object Explorer가 로그인이 접근할 수 없는 데이터베이스의 메타데이터를 읽으려는 경우다.

해결 방법

대상 데이터베이스에 로그인용 사용자를 생성하고 필요한 권한을 부여한다: USE [db]; CREATE USER [login] FOR LOGIN [login]; 이후 적절한 역할/권한을 할당한다. orphaned user가 있다면 ALTER USER ... WITH LOGIN = ...으로 매핑한다. 접근이 실제로 필요하면 적절한 데이터베이스 역할에 추가하고, 그렇지 않다면 이 오류는 예상된 동작이다(해당 데이터베이스에 대한 접근 권한 없음).

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목