정책 기반 관리를 사용하여 서버 관리Administer Servers by Using Policy-Based Management

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse 정책 기반 관리는 하나 이상의 SQL ServerSQL Server 인스턴스를 관리하는 정책 기반 시스템입니다. Policy-Based Management is a policy based system for managing one or more instances of SQL ServerSQL Server. 조건 식을 포함하는 조건을 만들 때 사용합니다.Use is to create conditions that contain condition expressions. 그런 다음 조건을 데이터베이스 대상 개체에 적용하는 정책을 만듭니다.Then, create policies that apply the conditions to database target objects.

예를 들어 데이터베이스 관리자 권한으로 특정 서버에서 데이터베이스 메일을 사용하도록 설정되지 않도록 서버 옵션을 설정하는 조건과 정책을 만들 수 있습니다.For example, as the database administrator, you may want to ensure that certain servers do not have Database Mail enabled, so you create a condition and a policy that sets that server option.

중요!!IMPORTANT!! 정책은 일부 기능의 작동 방식에 영향을 줄 수 있습니다.Policies can affect how some features work. 예를 들어 변경 데이터 캡처 및 트랜잭션 복제는 모두 인덱스가 없는 systranschemas 테이블을 사용합니다.For example, change data capture and transactional replication both use the systranschemas table, which does not have an index. 모든 테이블이 인덱스를 갖도록 하는 정책을 설정하는 경우 이 정책 준수를 강제 적용하면 이러한 기능이 작동하지 않습니다.If you enable a policy that all tables must have an index, enforcing compliance of the policy will cause these features to fail.

SQL Server management Studio를 사용하여 정책을 만들고 관리하면 다음을 수행할 수 있습니다.Use SQL Server management Studio to create and manage policies, to:

  1. 구성할 속성을 포함하는 정책 기반 관리 패싯을 선택합니다.Select a Policy-Based Management facet that contains the properties to be configured.

  2. 관리 패싯의 상태를 지정하는 조건을 정의합니다.Define a condition that specifies the state of a management facet.

  3. 조건, 대상 집합을 필터링하는 추가 조건 및 평가 모드를 포함하는 정책을 정의합니다.Define a policy that contains the condition, additional conditions that filter the target sets, and the evaluation mode.

  4. SQL ServerSQL Server 인스턴스가 정책을 준수하는지 여부를 확인합니다.Check whether an instance of SQL ServerSQL Server is in compliance with the policy.

    실패한 정책의 경우 개체 탐색기에서는 개체 탐색기 트리에서 상위 수준에 있는 대상 및 노드 옆에 빨간색 아이콘으로 표시되는 치명적인 상태 경고를 나타냅니다.For failed policies, Object Explorer indicates a critical health warning as a red icon next to the target and the nodes that are higher in the Object Explorer tree.

참고: 시스템에서 정책에 대한 개체 집합을 계산할 때 기본적으로 시스템 개체가 제외됩니다.NOTE: When the system computes the object set for a policy, by default the system objects are excluded. 예를 들어, 정책의 개체 집합이 모든 테이블을 참조할 경우 시스템 테이블에 정책이 적용되지 않습니다.For example, if the object set of the policy refers to all tables, the policy will not apply to system tables. 사용자가 시스템 개체에 대해 정책을 평가하려면 개체 집합에 시스템 개체를 명시적으로 추가합니다.If users want to evaluate a policy against system objects, they can explicitly add system objects to the object set. 그러나 모든 정책이 일정 검사 평가 모드에 대해 지원되더라도 성능상의 이유로 임의 개체 집합의 모든 정책이 변경 내용 검사 평가 모드에 대해 지원되지는 않습니다.However, though all policies are supported for check on schedule evaluation mode, for performance reason, not all policies with arbitrary object sets are supported for check on change evaluation mode. 자세한 내용은 http://blogs.msdn.com/b/sqlpbm/archive/2009/04/13/policy-evaluation-modes.aspx를 참조하세요.For more information, see http://blogs.msdn.com/b/sqlpbm/archive/2009/04/13/policy-evaluation-modes.aspx

세 가지 정책 기반 관리 구성 요소Three Policy-Based Management components

정책 기반 관리에는 다음과 같은 3가지 구성 요소가 있습니다.Policy-Based Management has three components:

  • 정책 관리.Policy management. 정책 관리자가 정책을 만듭니다.Policy administrators create policies.

  • 명시적 관리.Explicit administration. 관리자가 하나 이상의 관리된 대상을 선택하고 해당 대상이 특정 정책을 준수하는지 여부를 명시적으로 확인하거나 해당 대상이 정책을 준수하도록 명시적으로 지정합니다.Administrators select one or more managed targets and explicitly check that the targets comply with a specific policy, or explicitly make the targets comply with a policy.

  • 평가 모드.Evaluation modes. 평가 모드에는 4가지 유형이 있으며 이 중 3개는 자동화할 수 있습니다.There are four evaluation modes; three can be automated:

    • 요청 시.On demand. 이 모드는 사용자가 직접 지정한 경우 정책을 평가합니다.This mode evaluates the policy when directly specified by the user.

    • 변경 시: 방지.On change: prevent. 이 자동화된 모드에서는 DDL 트리거를 사용하여 정책 위반을 방지합니다.This automated mode uses DDL triggers to prevent policy violations.

      중요!IMPORTANT! nested triggers 서버 구성 옵션이 해제된 경우에는 변경 시: 방지 가 올바르게 작동하지 않습니다.If the nested triggers server configuration option is disabled, On change: prevent will not work correctly. 정책 기반 관리는 DDL 트리거를 사용하여 이 평가 모드를 사용하는 정책을 준수하지 않는 DDL 작업을 검색하고 롤백합니다.Policy-Based Management relies on DDL triggers to detect and roll back DDL operations that do not comply with policies that use this evaluation mode. 정책 기반 관리 DDL 트리거를 제거하거나 중첩 트리거를 해제하면 이 평가 모드가 제대로 작동하지 않거나 오류가 발생할 수 있습니다.Removing the Policy-Based Management DDL triggers or disabling nest triggers, will cause this evaluation mode to fail or perform unexpectedly.

    • 변경 시: 로그만.On change: log only. 이 자동화된 모드에서는 이벤트 알림을 사용하여 관련된 변경이 발생할 때 정책을 평가합니다.This automated mode uses event notification to evaluate a policy when a relevant change is made.

    • 예약 시.On schedule. 이 자동화된 모드에서는 SQL ServerSQL Server 에이전트 작업을 사용하여 주기적으로 정책을 평가합니다.This automated mode uses a SQL ServerSQL Server Agent job to periodically evaluate a policy.

      자동화된 정책이 설정되어 있지 않으면 정책 기반 관리가 시스템 성능에 영향을 주지 않습니다.When automated policies are not enabled, Policy-Based Management will not affect system performance.

용어Terms

정책 기반 관리에 의해 관리되는 대상 SQL Server 데이터베이스 엔진SQL Server Database Engine의 인스턴스, 데이터베이스, 테이블 또는 인덱스와 같이 정책 기반 관리에 의해 관리되는 엔터티입니다.Policy-Based Management managed target Entities that are managed by Policy-Based Management, such as an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, a database, a table, or an index. 서버 인스턴스의 모든 대상이 대상 계층을 구성합니다.All targets in a server instance form a target hierarchy. 대상 집합은 HumanResources 스키마가 소유하는 데이터베이스의 모든 테이블과 같이 대상 필터 집합을 대상 계층에 적용한 결과인 대상 집합입니다.A target set is the set of targets that results from applying a set of target filters to the target hierarchy, for example, all the tables in the database owned by the HumanResources schema.

정책 기반 관리 패싯 특정 유형의 관리되는 대상에 대한 동작 또는 특징을 모델링하는 논리적 속성 집합입니다.Policy-Based Management facet A set of logical properties that model the behavior or characteristics for certain types of managed targets. 속성의 수 및 특징은 기본적으로 패싯에 포함되며 패싯 작성자에 의해서만 추가 또는 제거될 수 있습니다.The number and characteristics of the properties are built into the facet and can be added or removed by only the maker of the facet. 대상 유형은 하나 이상의 관리 패싯을 구현할 수 있으며 관리 패싯은 하나 이상의 대상 유형에 의해 구현될 수 있습니다.A target type can implement one or more management facets, and a management facet can be implemented by one or more target types. 일부 패싯 속성은 특정 버전에만 적용될 수 있습니다.Some properties of a facet can only apply to a specific version..

정책 기반 관리 조건Policy-Based Management condition
관리 패싯과 관련하여 정책 기반 관리에 의해 관리되는 대상의 허용되는 상태 집합을 지정하는 부울 식입니다.A Boolean expression that specifies a set of allowed states of a Policy-Based Management managed target with regard to a management facet. SQL ServerSQL Server 는 조건을 평가할 때 데이터 정렬을 관측하려고 시도합니다. tries to observe collations when evaluating a condition. SQL ServerSQL Server 데이터 정렬이 Windows 데이터 정렬과 정확하게 일치하지 않을 경우 해당 조건을 테스트하여 알고리즘이 충돌을 어떻게 해결하는지 확인하십시오.When SQL ServerSQL Server collations do not exactly match Windows collations, test your condition to determine how the algorithm resolves conflicts.

정책 기반 관리 정책Policy-Based Management policy
평가 모드, 대상 필터 및 일정과 같은 정책 기반 관리 조건 및 예상 동작입니다.A Policy-Based Management condition and the expected behavior, for example, evaluation mode, target filters, and schedule. 정책은 하나의 조건만 포함할 수 있습니다.A policy can contain only one condition. 정책은 설정하거나 해제할 수 있습니다.Policies can be enabled or disabled. 정책은 msdb 데이터베이스에 저장됩니다.Policies are stored in the msdb database.

정책 기반 관리 정책 범주Policy-Based Management policy category
정책 관리에 유용한 사용자 정의 범주입니다.A user-defined category to help manage policies. 사용자는 정책을 서로 다른 정책 범주로 분류할 수 있습니다.Users can classify policies into different policy categories. 정책은 하나의 정책 범주에만 속합니다.A policy belongs to one and only one policy category. 정책 범주는 데이터베이스 및 서버에 적용됩니다.Policy categories apply to databases and servers. 데이터베이스 수준에서는 다음 조건이 적용됩니다.At the database level, the following conditions apply:

  • 데이터베이스 소유자는 데이터베이스를 정책 범주 집합에 구독할 수 있습니다.Database owners can subscribe a database to a set of policy categories.

  • 구독한 범주의 정책만 데이터베이스를 제어할 수 있습니다.Only policies from its subscribed categories can govern a database.

  • 모든 데이터베이스는 기본 정책 범주에 암시적으로 구독합니다.All databases implicitly subscribe to the default policy category.

    서버 수준에서는 모든 데이터베이스에 정책 범주를 적용할 수 있습니다.At the server level, policy categories can be applied to all databases.

    실제 정책Effective policy
    대상의 실제 정책은 이 대상을 제어하는 정책입니다.The effective policies of a target are those policies that govern this target. 정책은 다음 조건이 모두 충족되는 경우에만 대상과 관련하여 유효합니다.A policy is effective with regard to a target only if all the following conditions are satisfied:

  • 정책이 설정되어 있습니다.The policy is enabled.

  • 대상이 정책의 대상 집합에 속합니다.The target belongs to the target set of the policy.

  • 대상 또는 대상 상위 항목 중 하나가 이 정책을 포함하는 정책 그룹을 구독합니다.The target or one of the targets ancestors subscribes to the policy group that contains this policy.

Examples