Share via


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 トリガ」を参照してください。