Condividi tramite


Metodo Script (ScriptingOptions)

Genera uno script Transact-SQL che può essere utilizzato per ricreare il database in base a quanto specificato dalle opzioni di script.

Spazio dei nomi  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Sintassi

'Dichiarazione
Public Function Script ( _
    scriptingOptions As ScriptingOptions _
) As StringCollection
'Utilizzo
Dim instance As Database
Dim scriptingOptions As ScriptingOptions
Dim returnValue As StringCollection

returnValue = instance.Script(scriptingOptions)
public StringCollection Script(
    ScriptingOptions scriptingOptions
)
public:
virtual StringCollection^ Script(
    ScriptingOptions^ scriptingOptions
) sealed
abstract Script : 
        scriptingOptions:ScriptingOptions -> StringCollection 
override Script : 
        scriptingOptions:ScriptingOptions -> StringCollection 
public final function Script(
    scriptingOptions : ScriptingOptions
) : StringCollection

Parametri

Valore restituito

Tipo: System.Collections.Specialized. . :: . .StringCollection
Valore dell'oggetto di sistema StringCollection che contiene un elenco di istruzioni Transact-SQL nello script.

Implementa

IScriptable. . :: . .Script(ScriptingOptions)

Osservazioni

The Script method generates a set of Transact-SQL statements that are used to create the database. This method generates a script that can be used to create the database only. The whole database, including dependent objects such as tables, can be scripted by using the Scripter object.

The scriptingOptions parameter is used to filter information in the generated script.

Lo script generato potrebbe contenere procedure interne non documentate, necessarie per generare l'output completo dello script.

Esempi

VB

'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")
'Define a Scripter object and set the required scripting options.
Dim scrp As Scripter
scrp = New Scripter(srv)
scrp.Options.ScriptDrops = False
scrp.Options.WithDependencies = True
'Iterate through the tables in database and script each one. Display the script.
'Note that the StringCollection type needs the System.Collections.Specialized namespace to be included.
Dim tb As Table
Dim smoObjects(1) As Urn
For Each tb In db.Tables
    smoObjects = New Urn(0) {}
    smoObjects(0) = tb.Urn
    If tb.IsSystemObject = False Then
        Dim sc As StringCollection
        sc = scrp.Script(smoObjects)
        Dim st As String
        For Each st In sc
            Console.WriteLine(st)
        Next
    End If
Next

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2008R2")

$scrp = New-Object Microsoft.SqlServer.Management.Smo.Scripter($srv)
$scrp.Options.ScriptDrops = $FALSE
$scrp.Options.WithDependencies = $TRUE

Foreach ($tb in $db.Tables)
{
   $smoObjects = $tb.Urn
   If ($tb.IsSystemObject -eq $FALSE)
   {
      $sc = $scrp.Script($smoObjects)
      Foreach ($st in $sc)
      {
      Write-Host $st
      }
   }
}