적용 대상:SQL Server
이 cross db ownership chaining 옵션을 사용하여 SQL Server 인스턴스에 대한 데이터베이스 간 소유권 체인을 구성합니다.
이 서버 옵션을 사용하면 데이터베이스 수준에서 데이터베이스 간 소유권 체인을 제어하거나 모든 데이터베이스의 데이터베이스 간 소유권 체인을 제어할 수 있습니다.
cross db ownership chaining인스턴스에 대해 꺼져0있으면 모든 데이터베이스에 대해 데이터베이스 간 소유권 체인을 사용할 수 없습니다.cross db ownership chaining인스턴스에 대해 (1)가 켜지면 모든 데이터베이스에 대해 데이터베이스 간 소유권 체인이 켜집니다.문의 절
SET을 사용하여 개별 데이터베이스에 대해 데이터베이스 간 소유권 체인을ALTER DATABASE설정할 수 있습니다. 새 데이터베이스를 만드는 경우 문을 사용하여CREATE DATABASE새 데이터베이스에 대한 데이터베이스 간 소유권 체인 옵션을 설정할 수 있습니다.cross db ownership chaining1SQL Server 인스턴스에서 호스팅하는 모든 데이터베이스가 데이터베이스 간 소유권 체인에 참여해야 하며 이 설정의 보안 영향을 알고 있는 경우가 아니면 설정을 사용하지 않는 것이 좋습니다.
데이터베이스 간 소유권 체인의 상태 확인
데이터베이스 간 소유권 체인의 현재 상태 확인하려면 다음 쿼리를 실행합니다.
SELECT is_db_chaining_on,
name
FROM sys.databases;
그 결과 1 데이터베이스 간 소유권 체인이 사용하도록 설정되어 있음을 나타냅니다.
데이터베이스 간 소유권 체인 제어
데이터베이스 간 소유권 체인을 설정하거나 해제하기 전에:
데이터베이스 간 소유권 체인을 설정하거나 해제하려면 sysadmin 고정 서버 역할의 멤버여야 합니다.
프로덕션 서버에서 데이터베이스 간 소유권 체인을 해제하기 전에 타사 애플리케이션을 비롯한 모든 애플리케이션을 완전히 테스트하여 변경 내용이 애플리케이션 기능에 영향을 주지 않도록 합니다.
를 사용하여 지정
cross db ownership chainingRECONFIGURE하는sp_configure경우 서버가 실행되는 동안 옵션을 변경할 수 있습니다.데이터베이스 간 소유권 체인이 필요한 데이터베이스가 있는 경우 인스턴스에 대한 옵션을 해제
cross db ownership chaining한 다음sp_configure문을 사용하여 필요한 개별 데이터베이스에 대해 데이터베이스 간 소유권 체인을 설정하는 것이 좋습니다.
보안 위험
SQL Server에서 데이터베이스 간 소유권 체인을 사용하도록 설정하면 잠재적인 보안 취약성이 발생합니다. 이 기능이 활성화되면 상승된 권한을 가진 로컬 데이터베이스 사용자가 소유권 체인을 활용하여 권한을 에스컬레이션하고 잠재적으로 sysadmin 액세스 권한을 얻을 수 있습니다.
인스턴스 수준에서 데이터베이스 간 소유권 체인을 사용하도록 설정하지 말고 해당 사용을 신뢰할 수 있는 관련 데이터베이스로만 제한해야 합니다.