Server::SetDefaultInitFields Method (Type^, array<String^>^)


Specifies the properties that are fetched when objects of the specified type are instantiated.

Namespace:   Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

void SetDefaultInitFields(
	Type^ typeObject,
	... array<String^>^ fields


Type: System::Type^

A Type system object value that specifies the type of object.

Type: array<System::String^>^

A String array value that specifies the property fields that are to be fetched when the object is initialized.

SMO optimization allows only the minimum properties to be loaded when an object is created. When uninitialized properties are accessed, SMO makes individual requests to load the information from the instance of SQL Server. You can use this method to adjust which properties are initialized for an object when it is first created to further optimize performance.

Visual Basic


$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2012")
$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)
Return to top