Database.Script Method ()

Generates a Transact-SQL script that can be used to re-create the database.

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

Syntax

'Declaration
Public Function Script As StringCollection
public StringCollection Script ()
public:
virtual StringCollection^ Script () sealed
public final StringCollection Script ()
public final function Script () : StringCollection

Return Value

A StringCollection system object value that contains a list of Transact-SQL statements in the script.

Remarks

Updated text:17 July 2006

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 entire database, including dependent objects such as tables, can be scripted by using the Scripter object.

Note:   The generated script might contain undocumented, internal procedures. These are required for the complete script output.

This namespace, class, or member is supported only in version 2.0 of the Microsoft .NET Framework.

Example

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

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

Database Class
Database Members
Microsoft.SqlServer.Management.Smo Namespace

Other Resources

How to: Create, Alter, and Remove a Database in Visual Basic .NET
Scripting
Creating, Altering, and Removing Databases
CREATE DATABASE (Transact-SQL)

Change History

Release

History

17 July 2006

Changed content:
  • Added text to the Remarks section.

  • Added code to the Example section.