ポリシー ベースの管理は、SQL Server の 1 つ以上のインスタンスを管理するためのシステムです。 SQL Server ポリシー管理者がポリシー ベースの管理を使用する場合、SQL Server Management Studio を使用して、SQL Server、データベース、その他の SQL Server オブジェクトのインスタンスなど、サーバー上のエンティティを管理するポリシーを作成します。
ポリシー ベースの管理の利点
ポリシー ベースの管理は、次のシナリオで示される問題を解決するのに役立ちます。
会社のポリシーでは、データベース メールまたは SQL メールを有効にすることは禁止されています。 これら 2 つの機能のサーバーの状態を確認するポリシーが作成されます。 管理者は、サーバーの状態をポリシーと比較します。 サーバーの状態がコンプライアンス違反の場合、管理者は構成モードを選択し、ポリシーによってサーバーの状態がコンプライアンスに設定されます。
AdventureWorks2012 データベースには、すべてのストアド プロシージャがAW_文字で始まる必要がある名前付け規則があります。 このポリシーを適用するポリシーが作成されます。 管理者がこのポリシーをテストし、コンプライアンス違反のストアド プロシージャの一覧を受け取ります。 今後のストアド プロシージャがこの名前付け規則に準拠していない場合、ストアド プロシージャの作成ステートメントは失敗します。
注
ポリシーは、一部の SQL Server 機能の動作に影響を与える可能性があることに注意してください。 たとえば、変更データ キャプチャとトランザクション レプリケーションの両方で、インデックスのない systranschemas テーブルが使用されます。 すべてのテーブルにインデックスが必要なポリシーを有効にした場合、ポリシーのコンプライアンスを適用すると、これらの機能が失敗します。
ポリシーは、Management Studio を使用して作成および管理されます。 このプロセスには、以下のステップが含まれます。
構成するプロパティを含むポリシー ベースの管理ファセットを選択します。
管理ファセットの状態を指定する条件を定義します。
条件、ターゲット セットをフィルター処理する追加の条件、および評価モードを含むポリシーを定義します。
SQL Server のインスタンスがポリシーに準拠しているかどうかを確認します。
失敗したポリシーの場合、オブジェクト エクスプローラーは、重大な正常性警告をターゲットの横に赤いアイコンとして示し、オブジェクト エクスプローラー ツリーの上位にあるノードを示します。
注
システムがポリシーのオブジェクト セットを計算すると、既定ではシステム オブジェクトは除外されます。 たとえば、ポリシーのオブジェクト セットがすべてのテーブルを参照している場合、ポリシーはシステム テーブルには適用されません。 ユーザーがシステム オブジェクトに対してポリシーを評価する場合は、システム オブジェクトをオブジェクト セットに明示的に追加できます。 ただし、スケジュール評価モード でのチェック ではすべてのポリシーがサポートされていますが、パフォーマンス上の理由から、任意のオブジェクト セットを持つすべてのポリシーが変更評価モード のチェックで サポートされているわけではありません。 詳細については、https://blogs.msdn.com/b/sqlpbm/archive/2009/04/13/policy-evaluation-modes.aspx を参照してください。
ポリシー ベースの管理の概念
ポリシー ベースの管理には、次の 3 つのコンポーネントがあります。
ポリシー管理
ポリシー管理者はポリシーを作成します。
明示的な管理
管理者は、1 つ以上のマネージド ターゲットを選択し、ターゲットが特定のポリシーに準拠していることを明示的に確認するか、ターゲットがポリシーに準拠していることを明示的に確認します。
評価モード
4 つの評価モードがあり、そのうちの 3 つを自動化できます。
オンデマンド。 このモードは、ユーザーが直接指定した場合にポリシーを評価します。
変更時: 禁止します。 この自動モードでは、DDL トリガーを使用してポリシー違反を防ぎます。
重要
ネスト化されたトリガーのサーバー構成オプションが無効の場合、変更時: 防止は正常に機能しません。 ポリシー ベースの管理では、DDL トリガーを使用して、この評価モードを使用するポリシーに準拠していない DDL 操作を検出してロールバックします。 ポリシー ベースの管理 DDL トリガーを削除するか、入れ子トリガーを無効にすると、この評価モードが失敗するか、予期せず実行されます。
変更時: ログのみ。 この自動モードでは、イベント通知を使用して、関連する変更が行われたときにポリシーを評価します。
スケジュールに従います。 この自動モードでは、SQL Server エージェント ジョブを使用してポリシーを定期的に評価します。
自動ポリシーが有効になっていない場合、ポリシー ベースの管理はシステムのパフォーマンスに影響しません。
ポリシー ベースの管理条件
ポリシーベース管理下の管理対象
SQL Server データベース エンジンのインスタンス、データベース、テーブル、インデックスなど、ポリシー ベースの管理によって管理されるエンティティ。 サーバー インスタンス内のすべてのターゲットがターゲット階層を形成します。 ターゲット セットは、ターゲット階層 (たとえば、HumanResources スキーマが所有するデータベース内のすべてのテーブル) に一連のターゲット フィルターを適用した結果のターゲットのセットです。
ポリシーベースの管理機能
特定の種類のマネージド ターゲットの動作または特性をモデル化する論理プロパティのセット。 プロパティの数と特性はファセットに組み込まれており、ファセットの作成者のみが追加または削除できます。 ターゲット型は 1 つ以上の管理ファセットを実装でき、管理ファセットは 1 つ以上のターゲット型によって実装できます。 ファセットの一部のプロパティは、特定のバージョンにのみ適用できます。
ポリシーベース管理の条件
ポリシー ベースの管理で管理されるターゲットの管理ファセットに関して許可された状態のセットを指定するブール式。 SQL Server は、条件の評価時に照合順序の観察を試みます。 SQL Server の照合順序が Windows の照合順序と完全に一致しない場合は、条件をテストして、アルゴリズムが競合を解決する方法を判断します。
ポリシー ベースの管理ポリシー
ポリシー ベースの管理条件と予期される動作 (評価モード、ターゲット フィルター、スケジュールなど)。 ポリシーに含めることができる条件は 1 つだけです。 ポリシーは有効または無効にすることができます。 ポリシーは msdb データベースに格納されます。
ポリシー ベースの管理ポリシー カテゴリ
ポリシーの管理に役立つユーザー定義カテゴリ。 ユーザーは、ポリシーを異なるポリシー カテゴリに分類できます。 ポリシーは、1 つのポリシー カテゴリにのみ属します。 ポリシー カテゴリは、データベースとサーバーに適用されます。 データベース レベルでは、次の条件が適用されます。
データベース所有者は、一連のポリシー カテゴリにデータベースをサブスクライブできます。
データベースを管理できるのは、サブスクライブされているカテゴリのポリシーのみです。
すべてのデータベースは、既定のポリシー カテゴリを暗黙的にサブスクライブします。
サーバー レベルでは、ポリシー カテゴリをすべてのデータベースに適用できます。
有効なポリシー
ターゲットの有効なポリシーは、このターゲットを管理するポリシーです。 ポリシーは、次のすべての条件が満たされている場合にのみ、ターゲットに関して有効です。
このポリシーは有効になっています。
ターゲットは、ポリシーのターゲット セットに属しています。
ターゲットまたはターゲットの先祖のいずれかが、このポリシーを含むポリシー グループにサブスクライブします。
ポリシー ベースの管理タスク
ポリシー ベースの管理は、SQL Server の 1 つ以上のインスタンスを管理するためのポリシー ベースのシステムです。 ポリシー ベースの管理を使用して、条件式を含む条件を作成します。 次に、条件をデータベース ターゲット オブジェクトに適用するポリシーを作成します。
タスクの説明 | トピック |
---|---|
ポリシー ベースの管理ポリシーの格納方法について説明します。 | ポリシー ベースの管理ストレージ |
ポリシー管理者にポリシーエラーを通知するようにアラートを構成する方法について説明します。 | ポリシー管理者にポリシーエラーを通知するようにアラートを構成する |
ポリシー ベースの管理条件を作成、表示、変更、および削除する方法について説明します。 |
新しいポリシー ベースの管理条件を作成する ポリシー ベースの管理条件を削除する ポリシー ベースの管理条件のプロパティを表示または変更する |
ポリシー ベースの管理ポリシーを作成、表示、変更、削除する方法について説明します。 |
ポリシー ベースの管理ポリシーを作成する ポリシー ベースの管理ポリシーを削除する ポリシー ベースの管理ポリシーのプロパティを表示または変更する |
ポリシー ベースの管理ポリシーをエクスポートおよびインポートする方法について説明します。 |
ポリシー ベースの管理ポリシーをエクスポートする ポリシー ベースの管理ポリシーをインポートする |
サーバー インスタンス、データベース、サーバー オブジェクト、またはデータベース オブジェクトがポリシーに準拠していることを確認する方法について説明します。 |
オブジェクトからポリシー ベースの管理ポリシーを評価する そのポリシーからポリシー ベースの管理ポリシーを評価する スケジュールに基づいてポリシー ベースの管理ポリシーを評価する |
ポリシー ベースの管理ファセット状態を表示してファイルにコピーする方法について説明します。 | ポリシー ベースの管理の側面操作 |
ベスト プラクティス ポリシーとしてインポートできるポリシー ファイルのセットを提供し、インスタンス、インスタンス オブジェクト、データベース、またはデータベース オブジェクトを含むターゲット セットに対してポリシーを評価する方法について説明します。 | ポリシー ベースの管理を使用したベスト プラクティスの監視と適用 |
SQL Server Management Studio のオブジェクト エクスプローラーの PolicyManagement ノードの F1 ヘルプ トピックを提供します。 | ポリシー管理ノード (オブジェクト エクスプローラー) |