db 간 소유권 체인(서버 구성 옵션)

적용 대상:SQL Server

cross db ownership chaining 옵션을 사용하여 Microsoft SQL Server 인스턴스에 대한 데이터베이스 간 소유권 체인을 구성할 수 있습니다.

이 서버 옵션을 사용하면 데이터베이스 수준에서 데이터베이스 간 소유권 체인을 제어하거나 모든 데이터베이스의 데이터베이스 간 소유권 체인을 제어할 수 있습니다.

  • 인스턴스에 대해 cross db ownership chaining 이 해제(0) 상태일 때 모든 데이터베이스에 대해 데이터베이스 간 소유권 체인이 해제됩니다.

  • 인스턴스에 대해 cross db ownership chaining이 사용(1) 상태일 때 모든 데이터베이스에 대해 데이터베이스 간 소유권 체인이 사용됩니다.

  • ALTER DATABASE 문의 SET 절을 사용하여 개별 데이터베이스에 대해 데이터베이스 간 소유권 체인을 설정할 수 있습니다. 새 데이터베이스를 만드는 경우 CREATE DATABASE 문을 사용하여 새 데이터베이스에 대해 데이터베이스 간 소유권 체인을 설정할 수 있습니다.

    SQL Server 인스턴스에서 호스트한 모든 데이터베이스가 데이터베이스 간 소유권 체인에 참여하지 않고 사용자가 이 설정에 따른 보안 위험을 잘 알고 있는 경우가 아니라면 cross db ownership chaining을 1로 설정하지 않는 것이 좋습니다.

데이터베이스 간 소유권 체인의 현재 상태 확인하려면 다음 쿼리를 실행합니다.

SELECT is_db_chaining_on, name FROM sys.databases;

1의 결과는 데이터베이스 간 소유권 체인이 사용하도록 설정되어 있음을 나타냅니다.

데이터베이스 간 소유권 체인 제어

데이터베이스 간 소유권 체인을 켜거나 끄기 전에 다음을 고려합니다.

  • 데이터베이스 간 소유권 체인을 설정하거나 해제하려면 sysadmin 고정 서버 역할의 멤버여야 합니다.

  • 프로덕션 서버에서 데이터베이스 간 소유권 체인을 해제하기 전에 타사 애플리케이션을 비롯한 모든 애플리케이션을 완전히 테스트하여 변경 내용이 애플리케이션 기능에 영향을 미치지 않도록 합니다.

  • sp_configure로 RECONFIGURE를 지정하는 경우 서버가 실행되는 동안 db 간 소유권 체인 형성 옵션을 변경할 수 있습니다.

  • 데이터베이스 간 소유권 체인이 필요한 데이터베이스가 있는 경우 권장되는 방법은 sp_configure 를 사용하여 인스턴스에 대해 cross db ownership chaining옵션을 해제한 다음 ALTER DATABASE 문을 사용하여 데이터베이스 간 소유권 체인이 필요한 개별 데이터베이스에 대해 데이터베이스 간 소유권 체인을 설정하는 것입니다.

참고 항목

ALTER DATABASE(Transact-SQL)
CREATE DATABASE(SQL Server Transact-SQL)
서버 구성 옵션(SQL Server)
sp_configure(Transact-SQL)
RECONFIGURE(Transact-SQL)