Server.GetDefaultInitFields Method

Returns the property types that are initialized by default when the specified object is initialized.

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

Syntax

'Declaration
Public Function GetDefaultInitFields ( _
    typeObject As Type _
) As StringCollection
'Usage
Dim instance As Server 
Dim typeObject As Type 
Dim returnValue As StringCollection 

returnValue = instance.GetDefaultInitFields(typeObject)
public StringCollection GetDefaultInitFields(
    Type typeObject
)
public:
StringCollection^ GetDefaultInitFields(
    Type^ typeObject
)
member GetDefaultInitFields : 
        typeObject:Type -> StringCollection
public function GetDefaultInitFields(
    typeObject : Type
) : StringCollection

Parameters

  • typeObject
    Type: System.Type
    A Type system object that specifies the type of object.

Return Value

Type: System.Collections.Specialized.StringCollection
A StringCollection system object that contains a list of property types that are initialized by default when the specified object is initialized.

Remarks

This method is used to control the way in which object properties are initialized in an SMO application. You can use this method to optimize your SMO application.

Examples

Visual Basic

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2012 database.
Dim db As Database
db = srv.Databases("AdventureWorks2012")
'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 AdventureWorks2012.
'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("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)

See Also

Reference

Server Class

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Setting Properties

Calling Methods

Managing Servers