Méthode Database.Script (ScriptingOptions)
Generates a Transact-SQL script that can be used to re-create the database as specified by the script options.
Espace de noms : Microsoft.SqlServer.Management.Smo
Assembly : Microsoft.SqlServer.Smo (en Microsoft.SqlServer.Smo.dll)
Syntaxe
'Déclaration
Public Function Script ( _
scriptingOptions As ScriptingOptions _
) As StringCollection
'Utilisation
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
Paramètres
- scriptingOptions
Type : Microsoft.SqlServer.Management.Smo.ScriptingOptions
A ScriptingOptions object value that is used to specify the script options.
Valeur de retour
Type : System.Collections.Specialized.StringCollection
A StringCollection system object value that contains a list of Transact-SQL statements in the script.
Implémente
IScriptable.Script(ScriptingOptions)
Notes
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.
Le script généré contient peut-être des procédures internes non documentées, qui sont nécessaires pour la sortie complète du script.
Exemples
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")
'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("AdventureWorks2012")
$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
}
}
}
Voir aussi
Référence
Espace de noms Microsoft.SqlServer.Management.Smo
Autres ressources
Utilisation des objets de base de données