ScriptOption Class

The ScriptOption object represents the SQL Server script options that can be included in scripting options that are set by using the ScriptingOptions object.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Smo.ScriptOption

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

Syntax

'Declaration
Public NotInheritable Class ScriptOption
'Usage
Dim instance As ScriptOption
public sealed class ScriptOption
public ref class ScriptOption sealed
[<SealedAttribute>]
type ScriptOption =  class end
public final class ScriptOption

The ScriptOption type exposes the following members.

Properties

  Name Description
Public propertyStatic member AgentAlertJob Gets an object that specifies whether to include SQL Server Agent alerts and jobs in the script. 
Public propertyStatic member AgentJobId Gets an object that specifies whether to include SQL Server Agent alerts and jobs in the script. 
Public propertyStatic member AgentNotify Gets an object that specifies whether to include notifications for any SQL Server Agent alerts that in the script. 
Public propertyStatic member AllowSystemObjects Gets an object that specifies whether system objects can be scripted or not.
Public propertyStatic member AnsiFile Gets an object that specifies whether the script uses multibyte characters and requires code page 1252 to evaluate characters meaning.
Public propertyStatic member AnsiPadding Gets an object that specifies whether the generated script contains the Transact-SQL statements SET ANSI-PADDING ON and SET ANSI-PADDING OFF before and after the CREATE TABLE statement, respectively.
Public propertyStatic member AppendToFile Gets an object that specifies whether the script is appended to the end of the output file or overwrites it.
Public propertyStatic member Bindings Gets an object that specifies whether the binding statements sp_binddefault and sp_bindrule are included in the generated script. This property applies only when scripting a Microsoft SQL Server table.
Public propertyStatic member ChangeTracking Gets the ChangeTracking property value.
Public propertyStatic member ClusteredIndexes Gets an object that specifies whether statements that define clustered indexes are included in the generated script.
Public propertyStatic member ContinueScriptingOnError Gets an object value that specifies whether the scripting operation continues after an error is encountered.
Public propertyStatic member ConvertUserDefinedDataTypesToBaseType Gets an object value that specifies whether user-defined data types are converted to the most appropriate SQL Server base data types in the generated script. 
Public propertyStatic member DdlBodyOnly Gets an object value that specifies whether to script only the text definition for data definition language (DDL) objects that have a text body, such as stored procedures and triggers.
Public propertyStatic member DdlHeaderOnly Gets an object value that specifies whether to script only the header information for data definition language (DDL) objects that have a text body, such as stored procedures and triggers.
Public propertyStatic member Default Gets an object value that specifies whether the creation of the referenced object is included in the generated script.
Public propertyStatic member DriAll Gets an object value that specifies whether the DRI objects are included in the generated script.
Public propertyStatic member DriAllConstraints Gets an object value that specifies whether all DRI constraints are included in the generated script.
Public propertyStatic member DriAllKeys Gets an object value that specifies whether all DRI keys (DriForeignKeys, DriPrimaryKey, DriUniqueKeys) are included in the generated script.
Public propertyStatic member DriChecks Gets an object value that specifies whether column-specific dependency relationships defined in check constraints with enforced declarative referential integrity are included in the script.
Public propertyStatic member DriClustered Gets an object value that specifies whether dependency relationships defined in clustered indexes with enforced declarative referential integrity are included in the script.
Public propertyStatic member DriDefaults Gets an object value that specifies whether dependency relationships defined in defaults with enforced declarative referential integrity are included in the script.
Public propertyStatic member DriForeignKeys Gets an object value that specifies whether dependency relationships defined in foreign keys with enforced declarative referential integrity are included in the script.
Public propertyStatic member DriIncludeSystemNames Gets an object value that specifies whether the system generated constraint names used to enforce declarative referential integrity are included in the script.
Public propertyStatic member DriIndexes Gets an object value that specifies whether PRIMARY KEY constraints using a unique index to implement the declarative referential integrity are included in the generated script.
Public propertyStatic member DriNonClustered Gets an object value that specifies whether dependency relationships defined in non-clustered indexes with enforced declarative referential integrity are included in the script.
Public propertyStatic member DriPrimaryKey Gets an object value that specifies whether dependency relationships defined in primary keys with enforced declarative referential integrity are included in the script.
Public propertyStatic member DriUniqueKeys Gets an object value that specifies whether dependency relationships defined in unique keys with enforced declarative referential integrity are included in the script.
Public propertyStatic member DriWithNoCheck Gets an object value that specifies whether the no check statement is included in the script.
Public propertyStatic member EnforceScriptingOptions Gets an object value that specifies whether the application of all scripting options is enforced for text base objects, such as SchemaQualify.
Public propertyStatic member ExtendedProperties Gets an object value that specifies whether extended object properties are included in the generated script.
Public propertyStatic member FullTextCatalogs Gets an object value that specifies whether full-text catalogs are included in the generated script.
Public propertyStatic member FullTextIndexes Gets an object value that specifies whether full-text indexes are included in the generated script.
Public propertyStatic member FullTextStopLists Gets an object value that specifies whether full-text stop lists are included in the generated script.
Public propertyStatic member IncludeDatabaseContext Gets an object value that specifies whether database content is included in the generated script.
Public propertyStatic member IncludeDatabaseRoleMemberships Gets the IncludeDatabaseRoleMemberships property value.
Public propertyStatic member IncludeFullTextCatalogRootPath Gets the IncludeFullTextCatalogRootPath property value.
Public propertyStatic member IncludeHeaders Gets an object that specifies whether the generated script is prefixed with a header containing information including the date and time of generation.
Public propertyStatic member IncludeIfNotExists Gets an object that specifies whether to check the existence of an object before including it in the script.
Public propertyStatic member Indexes Gets an object that specifies whether indexes are included in the generated script.
Public propertyStatic member LoginSid Gets or sets the Boolean property value that specifies whether the security identifiers are included for any scripted logins in the generated script.
Public propertyStatic member NoAssemblies Gets an object that specifies whether assemblies are excluded from the generated script.
Public propertyStatic member NoCollation Gets an object value that specifies whether to include the collection in the generated script if the server is running SQL Server 7.0 or later.
Public propertyStatic member NoCommandTerminator Gets an object value that specifies whether individual Transact-SQL statements are delimited in the generated script.
Public propertyStatic member NoExecuteAs Gets an object value that specifies whether the EXECUTE AS options for stored procedures and user-defined functions are included in the script.
Public propertyStatic member NoFileGroup Gets an object value that specifies whether to include the 'ON <filegroup>' clause in the generated script.
Public propertyStatic member NoFileStream Gets an object that specifies whether to include the FILESTREAM_ON clause when you create VarBinaryMax columns in the generated script.
Public propertyStatic member NoFileStreamColumn Gets an object that specifies whether to include the FILESTREAM_ON clause when you create VarBinaryMax columns in the generated script.
Public propertyStatic member NoIdentities Gets an object value that specifies whether definitions of identity property seed and increment are included in the generated script.
Public propertyStatic member NoIndexPartitioningSchemes Gets an object value that specifies whether partition schemes for indexes are included in the generated script.
Public propertyStatic member NoMailProfileAccounts Gets an object value that specifies whether mail accounts referenced by mail profiles are included in the generated script.
Public propertyStatic member NoMailProfilePrincipals Gets an object value that specifies whether principals referenced by mail profiles are excluded from the generated script.
Public propertyStatic member NonClusteredIndexes Gets an object value that specifies whether non-clustered indexes are included in the generated script.
Public propertyStatic member NoTablePartitioningSchemes Gets an object value that specifies whether partition schemes for tables are included in the generated script.
Public propertyStatic member NoVardecimal Gets the NoVardecimal property value.
Public propertyStatic member NoViewColumns Gets an object value that specifies whether to include the specified columns for a view.
Public propertyStatic member NoXmlNamespaces Gets an object value that specifies whether XML namespaces are included in the generated script.
Public propertyStatic member OptimizerData Gets an object value that specifies whether script optimizer data for the referenced objects are included in the generated script.
Public propertyStatic member Permissions Gets an object value that specifies whether to all permissions in the generated script.
Public propertyStatic member PrimaryObject Gets an object value that specifies whether the creation of the referenced object is included in the generated script.
Public propertyStatic member SchemaQualify Gets an object value that specifies whether the script contains object with no schema.
Public propertyStatic member SchemaQualifyForeignKeysReferences Gets an object value that specifies whether tables with no schema that are referenced by a foreign key are included in the generated script.
Public propertyStatic member ScriptBatchTerminator Gets the batch terminator of the script option.
Public propertyStatic member ScriptData Gets the ScriptData property value.
Public propertyStatic member ScriptDataCompression Gets an object value that specifies whether the creation of the referenced object is included in the generated script.
Public propertyStatic member ScriptOwner Gets an object value that specifies whether the creation of the referenced object is included in the generated script.
Public propertyStatic member ScriptSchema Gets the schema of the script option.
Public propertyStatic member Statistics Gets an object value that specifies whether statistics are generated for any table or view included in the generated script.
Public propertyStatic member TimestampToBinary Gets an object value that specifies whether to convert timestamp data types to a binary(8) data types when scripting the creation of a table or user defined data type.
Public propertyStatic member ToFileOnly Gets an object value that specifies whether to output to file only or to generate string output too.
Public propertyStatic member Triggers Gets an object value that specifies whether to include the definition for triggers in the generated script.
Public propertyStatic member WithDependencies Gets an object value that specifies whether to include all dependent objects in the generated script.
Public propertyStatic member XmlIndexes Gets an object value that specifies whether XML indexes are included in the generated script.

Top

Methods

  Name Description
Public methodStatic member Add Adds the two ScriptOption objects to create a ScriptOptions object.
Public methodStatic member BitwiseOr Combines two ScriptingOptions object using a Bitwise OR operation.
Public method Equals Returns a Boolean value that specifies if two ScriptOptions are equal. (Overrides Object.Equals(Object).)
Public method GetHashCode Returns the hash code for this object. (Overrides Object.GetHashCode().)
Public method GetType (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Overrides Object.ToString().)

Top

Operators

  Name Description
Public operatorStatic member Addition Creates a set of scripting options by performing an addition operation on two ScriptOption objects.
Public operatorStatic member BitwiseOr Creates a set of scripting options by performing a bitwise OR operation on two ScriptOption objects.
Public operatorStatic member Implicit(ScriptOption to ScriptingOptions) Implicitly converts the specified ScriptOption to a ScriptingOptions object.

Top

Remarks

The ScriptOption object contains a property for each type of SQL Server item that can be scripted. The actual set of items to be scripted is specified using the ScriptingOptions object.

Warning: Some script options cause the Transfer object to generate script that does not execute on the target server.

Thread Safety

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

Examples

'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

Thread Safety

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

See Also

Reference

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Scripting