Database.PrefetchObjects Method (Type, ScriptingOptions)

Prefetches database objects of a specified type with scripting options.

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

Syntax

'Declaration
Public Sub PrefetchObjects ( _
    objectType As Type, _
    scriptingOptions As ScriptingOptions _
)
'Usage
Dim instance As Database 
Dim objectType As Type 
Dim scriptingOptions As ScriptingOptions

instance.PrefetchObjects(objectType, _
    scriptingOptions)
public void PrefetchObjects(
    Type objectType,
    ScriptingOptions scriptingOptions
)
public:
void PrefetchObjects(
    Type^ objectType, 
    ScriptingOptions^ scriptingOptions
)
member PrefetchObjects : 
        objectType:Type * 
        scriptingOptions:ScriptingOptions -> unit
public function PrefetchObjects(
    objectType : Type, 
    scriptingOptions : ScriptingOptions
)

Parameters

  • objectType
    Type: System.Type
    A Type object that limits the type of object that is prefetched.

Remarks

This lets collections be fully populated with objects by making one network trip to the instance of SQL Server. Prefetching is an optimization used when the whole collection of objects is required.

This method uses the scripting initialization of fields for prefetching database objects.

Examples

VB

'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

'Set scripting options.
Dim so As ScriptingOptions
so = New ScriptingOptions
so.AllowSystemObjects = True

'Prefetch all Table type objects, including system objects.
db.PrefetchObjects(typ, so)

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()

$so = New-Object Microsoft.SqlServer.Management.Smo.ScriptingOptions
$so.AllowSystemObjects = $TRUE

$db.PrefetchObjects($typ, $so)

Write-Host $db.GetTransactionCount()

See Also

Reference

Database Class

PrefetchObjects Overload

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Working with Database Objects

Setting Properties

Creating, Altering, and Removing Databases

CREATE DATABASE (Transact-SQL)