내보내기(0) 인쇄
모두 확장
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

분리된 사용자 문제 해결(SQL Server)

Microsoft SQL Server 인스턴스에 로그인하려면 유효한 SQL Server 로그인이 사용자에게 있어야 합니다. 이 로그인은 SQL Server 인스턴스에 대한 사용자 연결이 허용되는지 여부를 확인하는 인증 프로세스에서 사용됩니다. 서버 인스턴스의 SQL Server 로그인은 sys.server_principals 카탈로그 뷰 및 sys.syslogins 호환성 뷰에서 볼 수 있습니다.

SQL Server 로그인은 SQL Server 로그인에 매핑된 데이터베이스 사용자를 사용하여 개별 데이터베이스에 액세스합니다. 이 규칙에는 두 가지 예외가 있습니다.

  • 게스트 계정

    게스트 계정은 데이터베이스에서 사용 가능한 경우 데이터베이스 사용자에 매핑되지 않은 SQL Server 로그인이 게스트 사용자로 데이터베이스에 액세스할 수 있도록 하는 계정입니다.

  • Microsoft Windows 그룹 멤버 자격

    Windows 사용자로부터 생성된 SQL Server 로그인은 해당 Windows 사용자가 Windows 그룹의 멤버인 동시에 데이터베이스의 사용자인 경우 데이터베이스에 액세스할 수 있습니다.

데이터베이스 사용자로의 SQL Server 로그인 매핑에 대한 정보는 데이터베이스 내에 저장됩니다. 데이터베이스 사용자 이름과 해당 SQL Server 로그인의 SID가 여기에 포함됩니다. 이 데이터베이스 사용자의 사용 권한은 데이터베이스에서 권한 부여에 사용됩니다.

해당 SQL Server 로그인이 서버 인스턴스에서 정의되지 않았거나 잘못 정의되어 있는 데이터베이스 사용자는 이 인스턴스에 로그인할 수 없습니다. 이러한 사용자는 해당 서버 인스턴스에 있는 데이터베이스의 분리된 사용자라고 합니다. 데이터베이스 사용자는 해당 SQL Server 로그인이 삭제되면 분리될 수 있습니다. 데이터베이스가 SQL Server의 다른 인스턴스에 복원되거나 연결된 후에도 데이터베이스 사용자가 분리될 수 있습니다. 데이터베이스 사용자가 새 서버 인스턴스에 없는 SID로 매핑되는 경우 사용자가 분리될 수 있습니다.

참고 참고

데이터베이스에서 guest를 설정하지 않은 경우 SQL Server 로그인은 해당 데이터베이스 사용자가 없는 데이터베이스에 액세스할 수 없습니다. 데이터베이스 사용자 계정을 만드는 방법은 CREATE USER(Transact-SQL)를 참조하십시오.

분리된 사용자를 검색하려면 다음 Transact-SQL 문을 실행합니다.

USE <database_name>;
GO; 
sp_change_users_login @Action='Report';
GO;

현재 데이터베이스에 있으며 어떤 SQL Server 로그인에도 연결되지 않은 사용자와 이에 해당되는 SID(보안 ID)가 나열됩니다. 자세한 내용은 sp_change_users_login(Transact-SQL)을 참조하십시오.

참고참고

sp_change_users_login은 Windows로부터 생성된 SQL Server 로그인에 사용할 수 없습니다.

분리된 사용자를 확인하려면 다음 절차를 수행합니다.

  1. 다음 명령은 <login_name>에 지정된 서버 로그인 계정을 <database_user>에 지정된 데이터베이스 사용자와 다시 연결합니다.

    USE <database_name>;
    GO
    sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>', 
       @LoginName='<login_name>';
    GO
    

    자세한 내용은 sp_change_users_login(Transact-SQL)을 참조하십시오.

  2. 앞 단계에서 코드를 실행한 다음 사용자는 데이터베이스에 액세스할 수 있습니다. 그런 다음 사용자는 sp_password 저장 프로시저를 사용하여 다음과 같이 <login_name> 로그인 계정의 암호를 바꿀 수 있습니다.

    USE master 
    GO
    sp_password @old=NULL, @new='password', @loginame='<login_name>';
    GO
    
    보안 정보보안 정보

    ALTER ANY LOGIN 사용 권한이 있는 로그인으로만 다른 사용자의 로그인 암호를 변경할 수 있습니다. 그러나 sysadmin 역할의 멤버만 sysadmin 역할 멤버의 암호를 수정할 수 있습니다.

    참고참고

    sp_password는 Microsoft Windows 계정에 사용할 수 없습니다. Windows 네트워크 계정을 통해 SQL Server 인스턴스에 연결하는 사용자는 Windows에 의해 인증되므로 암호는 Windows에서만 변경할 수 있습니다.

    자세한 내용은 sp_password(Transact-SQL)를 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft