INF: 데이터베이스 간 소유권 체인 동작이 SQL Server 2000 서비스 팩 3에서 변경된다

기술 자료 번역 기술 자료 번역
기술 자료: 810474 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft SQL Server 서비스 팩 3(SP3)은 설치 시 데이터베이스 간 소유권 체인 구성 옵션인 모든 데이터베이스에서 데이터베이스 간 소유권 체인 가능과 관련하여 새롭고 향상된 보안 기능을 제공합니다. 이 문서에서는 SQL Server 2000 SP3의 데이터베이스 간 소유권 체인 동작에 대해 설명합니다. 이 새 옵션을 사용하면 데이터베이스 간 소유권 체인을 허용할지 여부를 제어할 수 있습니다. 기본적으로 이 옵션은 설정이 해제되어 있습니다. 기본 옵션을 사용하면 데이터베이스 서버가 더 안전해지므로 기본 옵션을 사용하는 것이 좋습니다.

추가 정보

소유권 체인

기본적으로 데이터베이스 개체에는 모두 소유자가 있습니다. 뷰, 저장 프로시저 또는 사용자 정의 함수 같은 개체가 다른 개체를 참조할 때 소유권 체인이 설정됩니다. 한 가지 예로, 테이블을 같은 사용자가 소유하고 있는 경우를 들 수 있습니다. 같은 사용자가 원본 개체, 뷰, 저장 프로시저 또는 사용자 정의 함수와 모든 대상 개체(원본으로 사용하는 테이블, 뷰 또는 기타 개체)를 소유한 경우 그러한 소유권 체인을 끊어지지 않는 소유권 체인이라고 합니다. 소유권 체인이 끊어지지 않는 경우에는 SQL Server가 원본 개체에 대한 사용 권한은 확인하지만 대상 개체에 대한 사용 권한은 확인하지 않습니다.

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

원본 개체가 다른 데이터베이스의 개체에 종속된 경우 데이터베이스 간 소유권 체인이 발생합니다. 데이터베이스 간 소유권 체인은 끊어지지 않는 소유권 체인에서 모든 개체 소유자가 같은 로그인 계정에 매핑된다는 점을 제외하면 데이터베이스의 소유권 체인과 같은 방식으로 작동합니다. 따라서 데이터베이스 간 소유권 체인에서 원본 데이터베이스의 원본 개체와 대상 데이터베이스의 대상 개체를 같은 로그인 계정이 소유한 경우에는 SQL Server가 대상 개체에서 사용 권한을 확인하지 않습니다.

둘 이상의 데이터베이스를 사용하는 응용 프로그램이 한 데이터베이스에 있는 개체에 기반을 둔 다른 데이터베이스의 저장 프로시저나 뷰를 호출하는 경우에는 데이터베이스 간 소유권 체인이 사용됩니다. 데이터베이스 간 소유권 체인에 의존하는 응용 프로그램은 데이터베이스 간 소유권 체인 옵션이 해제된 경우 사용 권한 거부 오류를 생성할 수 있습니다.

데이터베이스 간 소유권 체인과 관련된 위험 요소

상위 권한이 있는 사용자가 아래와 같은 작업을 수행할 수 있기 때문에 데이터베이스 간 소유권 체인 옵션을 해제하는 것이 좋습니다.
  • db_ddladmin 또는 db_owners 데이터베이스 역할의 데이터베이스 소유자와 구성원은 다른 사용자가 소유하는 개체를 만들 수 있습니다. 이들 개체는 잠재적으로 다른 데이터베이스의 개체를 대상으로 할 수 있습니다. 따라서 데이터베이스 간 소유권 체인을 사용 가능하게 설정할 경우 모든 데이터베이스의 데이터에 대해 이들 사용자를 완전히 신뢰할 수 있어야 합니다. 현재 데이터베이스에 있는 db_ddladmindb_owners 역할의 구성원을 식별하려면 아래의 Transact-SQL 명령을 실행하십시오.
    exec sp_helprolemember 'db_ddladmin' exec sp_helprolemember 'db_owner'
  • CREATE DATABASE 권한을 가진 사용자는 데이터베이스를 새로 만들고 기존 데이터베이스에 연결할 수 있습니다. 데이터베이스 간 소유권 체인이 사용 가능하게 설정되면 이들 사용자는 새로 만든 데이터베이스나 연결된 데이터베이스에서 다른 데이터베이스의 개체에 액세스할 수 있습니다.
최대 보안을 유지하려면 데이터베이스 간 소유권 체인을 해제하는 것이 좋지만 상위 권한이 있는 사용자를 완전히 신뢰할 수 있는 환경에서는 특정 응용 프로그램의 요구 사항을 충족시키도록 특정 데이터베이스에 대해 데이터베이스 간 소유권을 사용 가능하게 설정할 수 있습니다.

설치 시 데이터베이스 간 소유권 체인을 구성하는 방법

Microsoft SQL Server 서비스 팩 3(SP3) 설치 프로그램에서는 시스템 관리자가 데이터베이스 간 소유권 체인의 허용 여부를 제어할 수 있는 대화 상자가 새로 추가되었습니다. SQL Server 2000 SP3을 설치하는 동안 모든 데이터베이스에서 데이터베이스 간 소유권 체인 가능을 선택하면 모든 데이터베이스에서 이 옵션이 사용 가능하게 설정됩니다. SQL Server 2000 SP3 이전에는 이것이 기본 동작이었습니다. 설치하는 동안 선택한 옵션에 관계 없이 나중에 Transact-SQL 명령을 사용하거나 SQL Server 엔터프라이즈 관리자에서 데이터베이스 간 소유권 체인에 대한 서버 및 데이터베이스 지원을 수정할 수 있습니다.

설치 후 데이터베이스 간 소유권 체인을 구성하는 방법

데이터베이스 간 소유권 체인 구성을 변경하려면 sp_configuresp_dboption 저장 프로시저에서 새 옵션을 사용하십시오.
  • Transact-SQL 명령을 사용한 데이터베이스 간 소유권 체인 구성:

    • sp_configure에 대한 새로운 Cross DB Ownership Chaining 옵션을 사용하여 SQL Server 인스턴스의 데이터베이스 간 소유권 체인 지원을 구성합니다. 이 옵션이 0으로 설정되어 있으면 sp_dboption을 사용하여 데이터베이스 차원에서 데이터베이스 간 소유권 체인을 제어할 수 있습니다. 이 옵션이 1로 설정되어 있으면 데이터베이스 간 소유권 체인을 제어할 수 없습니다. 이것이 SQL Server 2000 SP3 이전의 동작입니다. 이 옵션을 변경할 경우에는 RECONFIGURE 옵션을 포함시켜 다시 시작할 필요가 없도록 인스턴스를 다시 구성하십시오. 예를 들어, 모든 데이터베이스에서 데이터베이스 간 소유권 체인을 허용하려면 아래의 명령을 사용하십시오.
      EXEC sp_configure 'Cross DB Ownership Chaining', '1'; RECONFIGURE 
      
    • sp_dboption에 대한 새 db chaining 옵션을 사용하여 데이터베이스 차원에서 데이터베이스 간 소유권 체인을 구성합니다. 이 옵션이 False로 설정되어 있으면 데이터베이스가 원본 또는 대상 데이터베이스 중 하나로서 데이터베이스 간 소유권 체인에 참여할 수 없습니다. 이 옵션이 True로 설정되어 있으면 데이터베이스가 데이터베이스 간 소유권 체인에 참여할 수 있습니다. SQL Server 2000 SP3을 적용한 후에는 기본적으로 이 옵션이 모든 사용자 데이터베이스에 대해 False로 설정됩니다. 아래의 명령을 사용하면 Northwind 데이터베이스에 대한 데이터베이스 간 소유권 체인이 사용 가능하게 설정됩니다.
      EXEC sp_dboption 'Northwind', 'db chaining', 'true'

    sp_configure Cross DB Ownership Chaining 옵션이 0으로 설정된 경우에만 sp_dboption 효과가 나타납니다. 또한, 데이터베이스 차원에서 데이터베이스 간 소유권 체인을 사용 가능하게 설정하려면 원본 데이터베이스와 대상 데이터베이스 모두에서 이 옵션을 설정해야 합니다.
  • SQL 엔터프라이즈 관리자를 사용한 데이터베이스 간 소유권 체인 구성:

    • 모든 데이터베이스에 대해 이 옵션을 설정하려면 다음과 같이 하십시오.

      1. <server>를 마우스 오른쪽 단추로 누릅니다.
      2. 등록 정보를 누릅니다.
      3. 보안을 누릅니다.
      4. 소유권 체인 섹션에서 데이터베이스 간 소유권 체인 허용을 선택합니다.
      5. 확인을 누릅니다. SQL Server 서비스를 중지하고 다시 시작할지 묻는 메시지가 나타납니다.
      6. 확인을 누릅니다.
    • 이 옵션을 데이터베이스 차원에서 사용 가능하게 설정하려면 다음과 같이 합니다.

      1. <database>를 마우스 오른쪽 단추로 누릅니다 .
      2. 등록 정보를 누릅니다.
      3. 옵션을 누릅니다.
      4. 설정 섹션에서 데이터베이스 간 소유권 체인 허용을 선택합니다.





Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 810474 - 마지막 검토: 2007년 10월 29일 월요일 - 수정: 4.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 서비스 팩 3
키워드:?
kbinfo kbupgrade kbsysadmin kbsqlserv2000sp3fea kbproductlink KB810474

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com