SMO と SQL-DMO の比較
SQL Server 管理オブジェクト (SMO) は、SQL Server 2005 で導入されたマネージ コード オブジェクト モデルです。これは、SQL 分散管理オブジェクト (SQL-DMO) に代わるものです。SQL-DMO と同様に、SMO は、SQL Server の管理に使用されるオブジェクトを提供します。プログラミング モデルが強化され、SQL Server 2005 で導入された機能に合わせてオブジェクト数も増加しています。SQL Server 2008 以降、SMO は SQL Server Foundation Class (SFC) に基づいています。SQL Server 2008 では、ポリシー ベースの管理オブジェクト モデル (DMF) も導入されました。
SMO には、次の機能が含まれます。
向上したパフォーマンス。オブジェクトは、明示的に参照された場合にのみ読み込まれます。オブジェクト プロパティは、オブジェクトが作成された場合にのみ部分的に読み込まれます。残りのオブジェクトは、直接参照された場合に読み込まれます。
Transact-SQL ステートメントのキャプチャおよびバッチ実行。ステートメントをキャプチャしてバッチとして送信し、ネットワーク パフォーマンスを向上させることができます。
WMI プロバイダーを使用した SQL Server サービスの管理。プログラムを使用して、SQL Server サービスの起動、停止および一時停止を行うことができます。
高度なスクリプティング。Transact-SQL スクリプトを生成することにより、SQL Server のインスタンス上の他のオブジェクトに対するリレーションシップを記述した SQL Server オブジェクトを再作成することができます。
データ転送にはスクリプティング機能を活用して Integration Services サービスを使用。
URN (Unique Resource Name) の使用。
特定のイベント発生時に実行されるコードの挿入を開発者が行えるようにするイベント処理。
SMO エラーに固有であることの識別に使用される例外。
データベース オブジェクトのより高度なカバレッジ。たとえば、ForeignKey オブジェクトによって、外部キーをより高度に管理できるようになります。
また、SMO では、SQL Server 2005 で導入されたいくつかの機能およびコンポーネントが、新しいオブジェクトやプロパティとして表現されています。これらの新しい機能およびコンポーネントには次のものがあります。
パーティション構成にデータを格納するためのテーブルおよびインデックスのパーティション分割。詳細については、「パーティション テーブルとパーティション インデックスの概念」を参照してください。
SOAP 要求を管理するための HTTP エンドポイント。詳細については、「SOAP セッション サポートのしくみ」を参照してください。
同時実行性を高めるためのスナップショット分離と行レベルのバージョニング。詳細については、「スナップショット分離を使用した作業」を参照してください。
XML データの検証と格納を実現するための、XML スキーマ コレクション、XML インデックス、および XML データ型。詳細については、「XML スキーマの使用方法」および「XML データ型の使用」を参照してください。
データベースの読み取り専用コピーを作成するためのビュー ポイント データベース。
メッセージ ベースの通信に対する Service Broker サポート。詳細については、「SQL Server Service Broker」を参照してください。
SQL Server データベース オブジェクトの複数の名前に対するシノニム サポート。詳細については、「シノニムについて」を参照してください。
SQL Server での電子メール サービス、電子メール プロファイル、および電子メール アカウントの作成を可能にするデータベース メールの管理。詳細については、「データベース メール」を参照してください。
接続情報登録のための登録サーバーのサポート。詳細については、「登録済みサーバーの管理」を参照してください。
SQL Server イベントのトレースおよび再生。詳細については、「SQL Server Profiler の使用」および「SQL トレースの使用」を参照してください。
セキュリティ コントロールのための証明書およびキーのサポート。詳細については、「暗号化階層」を参照してください。
DDL イベント発生時に機能を追加するための DDL トリガー。詳細については、「DDL トリガ」を参照してください。