Metoda Database.Script (ScriptingOptions)
Generuje Transact-SQL skryptu, który może służyć do odtworzenia bazy danych określoną przez opcje skryptu.
Przestrzeń nazw: Microsoft.SqlServer.Management.Smo
Zestaw: Microsoft.SqlServer.Smo (w Microsoft.SqlServer.Smo.dll)
Składnia
'Deklaracja
Public Function Script ( _
scriptingOptions As ScriptingOptions _
) As StringCollection
'Użycie
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
Parametry
- scriptingOptions
Typ: Microsoft.SqlServer.Management.Smo.ScriptingOptions
A ScriptingOptions wartość obiektu, który jest używany do określania opcji skrypt.
Wartość zwracana
Typ: System.Collections.Specialized.StringCollection
A StringCollection zawiera listę wartości obiektu systemu Transact-SQL instrukcji w script.
Implementacje
Uwagi
Script Metoda generuje zestaw Transact-SQL instrukcji, które są używane do tworzenia bazy danych.Ta metoda generuje skrypt, który może służyć do tworzenia tylko bazy danych.Całej bazy danych, w tym obiekty zależne, takich jak tabele, może być inicjowanych przez skrypty za pomocą obiektu autorzy skryptów.
scriptingOptions Parametr jest używany do filtrowania informacji w wygenerowanym script.
Wygenerowany skrypt może zawierać nieudokumentowane, wewnętrzne procedury, które są wymagane do ukończenia generowania danych wyjściowych skryptu.
Przykłady
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
}
}
}