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)