SQL 2008 ポリシー管理機能を使用して、テーブル スキーマにデフォルトの列を作成するポリシーを追加できるかどうか教えてください。
たとえば、CreateDate という名前のすべてのテーブルに Date 列を作成したい場合、DBA は「CreateDate」という名前の datetime 型の列がなければテーブルを作成できません。
それは可能ですか?
SQL 2008 ポリシー管理機能を使用して、テーブル スキーマにデフォルトの列を作成するポリシーを追加できるかどうか教えてください。
たとえば、CreateDate という名前のすべてのテーブルに Date 列を作成したい場合、DBA は「CreateDate」という名前の datetime 型の列がなければテーブルを作成できません。
それは可能ですか?
宣言型管理フレームワークでは、列は作成されません (ただし、便利な場合もあります)。
また、テーブルの場合のように、列のプロパティには事実がありません。マルチパート名に実際にそれをさせることができるかもしれませんが、頭のてっぺんから何も思い浮かびません。
アクションを防ぐための DMF ポリシーについて注意すべきことの 1 つは、ポリシーを渡すためだけに CreateDate 列を含むテーブルを作成できるため、定期的なチェックのためにポリシーのスケジュールを設定する場合にのみ (何かが欠けていない限り) 役立つと思われることです。 sp_rename 直後に別の名前に変更します。
これを行うために PBM を使用することに慣れていませんが、データベース レベルの DDL トリガーを使用することで、このようなチェックを確実に行うことができます。ここでBOL を参照してください。