プロパティの設定

プロパティとは、オブジェクトに関する説明情報を格納する値のことです。たとえば、Microsoft SQL Server 構成オプションは、Configuration オブジェクトのプロパティによって表されます。プロパティは、直接、またはプロパティ コレクションを使用して間接的にアクセスすることができます。プロパティへの直接アクセス時には、次の構文を使用します。

objInstance.PropertyName

プロパティ値は、そのプロパティが読み取り/書き込みアクセスまたは読み取り専用アクセスのどちらであるかに応じて、変更または取得を行うことができます。また、オブジェクトを作成する前に、特定のプロパティを設定する必要もあります。詳細については、SMO 参考資料で特定のオブジェクトを参照してください。

ms162187.note(ja-jp,SQL.90).gifメモ :
子オブジェクトのコレクションは、オブジェクトのプロパティとして表現されます。たとえば、Tables コレクションは、Server オブジェクトのプロパティとなります。詳細については、「コレクションの使用」を参照してください。

オブジェクトのプロパティは、Properties コレクションのメンバです。Properties コレクションを使用して、オブジェクトの各プロパティを反復処理することができます。

次の理由によって、プロパティを使用できない場合があります。

Microsoft SQL Server の以前のバージョンで、新しい Microsoft SQL Server 2005 機能を表すプロパティにアクセスしようとするなど、サーバーのバージョンがプロパティをサポートしていない場合。 インストールされていない SQL Server コンポーネントを表すプロパティにアクセスしようとするなど、サーバーがプロパティのデータを提供しない場合。

UnknownPropertyException および PropertyCannotBeRetrievedException の SMO 例外をキャッチすることによって、これらの状況に対処することができます。

既定の初期化フィールドの設定

SMO は、オブジェクトの取得時に最適化を行います。最適化によって、次の状態の間で自動的にスケーリングを行うことによって読み込まれるプロパティ数を最小限に抑えることができます。

  1. 部分的読み込み。オブジェクトへの最初の参照時には、最少限のプロパティ (Name や Schema など) のみが使用可能になります。
  2. 完全読み込み。いずれかのプロパティが参照されたとき、すぐに読み込まれた残りのプロパティが初期化されて使用可能になります。
  3. 大量のメモリを使用するプロパティ。これ以外の、多くのメモリを使用し、Expensive プロパティ値 (DataSpaceUsage など) の値が true であるプロパティは読み込まれません。これらのプロパティは、明示的に参照された場合にのみ読み込まれます。

部分的に読み込まれた状態で提供されたプロパティだけでなく、それ以外のプロパティもアプリケーションによってフェッチされる場合、これらの追加のプロパティを取得するクエリが送信され、完全に読み込まれた状態にスケール アップされます。これにより、クライアントとサーバーの間に不要なトラフィックが発生する場合があります。SetDefaultInitFields メソッドを呼び出すことにより、さらに最適化を行うことができます。SetDefaultInitFields メソッドを使用すると、オブジェクトの初期化時に読み込まれるプロパティを指定することができます。

SetDefaultInitFields メソッドでは、アプリケーションの残り部分に対して、またはリセットされるまでの、プロパティの読み込み動作を設定することができます。GetDefaultInitFields メソッドを使用して、元の動作を保存し、必要に応じて復元することができます。

参照

処理手順

Visual Basic .NET でプロパティを取得および設定する方法
Visual Basic .NET でオブジェクトが作成される前にさまざまなプロパティを設定する方法
Visual Basic .NET でオブジェクトのすべてのプロパティを反復処理する方法
Visual Basic .NET で既定の初期化フィールドを設定する方法

概念

SMO 例外の処理

ヘルプおよび情報

SQL Server 2005 の参考資料の入手