SetDefaultInitFields メソッド (Type, Boolean)

指定した種類のオブジェクトがインスタンス化されるときに、すべてのプロパティがフェッチされることを示します。

名前空間:  Microsoft.SqlServer.Management.Smo
アセンブリ:  Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)

構文

'宣言
Public Sub SetDefaultInitFields ( _
    typeObject As Type, _
    allFields As Boolean _
)
'使用
Dim instance As Server
Dim typeObject As Type
Dim allFields As Boolean

instance.SetDefaultInitFields(typeObject, _
    allFields)
public void SetDefaultInitFields(
    Type typeObject,
    bool allFields
)
public:
void SetDefaultInitFields(
    Type^ typeObject, 
    bool allFields
)
member SetDefaultInitFields : 
        typeObject:Type * 
        allFields:bool -> unit 
public function SetDefaultInitFields(
    typeObject : Type, 
    allFields : boolean
)

パラメーター

  • typeObject
    型: System. . :: . .Type
    オブジェクトの種類を示す Type システム オブジェクトの値です。
  • allFields
    型: System. . :: . .Boolean
    オブジェクトがインスタンス化されるときに、すべてのプロパティがフェッチされるかどうかを示す Boolean 値です。
    True の場合、オブジェクトがインスタンス化されるときに、すべてのプロパティがフェッチされます。
    False の場合、すべてのオブジェクトは既定の動作に設定されます。

説明

SMO 最適化を使用すると、オブジェクトの作成時に、最小限のプロパティのみを読み込むことができます。初期化されていないプロパティにアクセスすると、SMO は SQL Server のインスタンスから情報を読み込むように個別に要求します。このメソッドを使用して、オブジェクトが最初に作成されたときに初期化されるプロパティを調整することにより、パフォーマンスをさらに最適化できます。

使用例

Visual Basic

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'Assign the Table object type to a System.Type object variable.
Dim tb As Table
Dim typ As Type
tb = New Table
typ = tb.GetType
'Assign the current default initialization fields for the Table object type to a 
'StringCollection object variable.
Dim sc As StringCollection
sc = srv.GetDefaultInitFields(typ)
'Set the default initialization fields for the Table object type to the CreateDate property.
srv.SetDefaultInitFields(typ, "CreateDate")
'Retrieve the Schema, Name, and CreateDate properties for every table in AdventureWorks2008R2.
'Note that the improvement in performance can be viewed in SQL Profiler.
For Each tb In db.Tables
    Console.WriteLine(tb.Schema + "." + tb.Name + " " + tb.CreateDate)
Next
'Set the default initialization fields for the Table object type back to the original settings.
srv.SetDefaultInitFields(typ, sc)

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2008R2")
$tb = new-object Microsoft.SqlServer.Management.Smo.Table
$typ = $tb.GetType()
$sc = $srv.GetDefaultInitFields($typ)
$srv.SetDefaultInitFields($typ, "CreateDate")
foreach ($tb in $db.Tables)
{
   Write-Host $tb.Schema,".",$tb.Name,".",$tb.CreateDate
}
$srv.SetDefaultInitFields($typ, $sc)