Export (0) Print
Expand All

ScriptingOptions Class

The ScriptingOptions object provides programmatic options to the options that can be set for scripting operations.

System.Object
  Microsoft.SqlServer.Management.Smo.ScriptingOptions

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

public sealed class ScriptingOptions

The ScriptingOptions type exposes the following members.

  NameDescription
Public methodScriptingOptions()Initializes a new instance of the ScriptingOptions class.
Public methodScriptingOptions(ScriptingOptions)Initializes a new instance of the ScriptingOptions class based on the specified scripting options.
Public methodScriptingOptions(ScriptOption)Initializes a new instance of the ScriptingOptions class based on the specified ScriptOption object, based on the specified script option.
Top

  NameDescription
Public propertyAgentAlertJobGets or sets the Boolean property that specifies whether to include SQL Server Agent job name for alert objects in the script.
Public propertyAgentJobIdGets or sets the Boolean property that specifies whether to include SQL Server Agent job ID values for alert objects in the script.
Public propertyAgentNotifyGets or sets the Boolean property that specifies whether to include notifications for any SQL Server Agent alerts that are in the script.
Public propertyAllowSystemObjectsGets or sets the Boolean property that specifies whether system objects can be scripted.
Public propertyAnsiFileGets or sets the Boolean property that specifies whether the script uses multibyte characters and requires code page 1252 to evaluate characters' meaning.
Public propertyAnsiPaddingGets or sets a Boolean property 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 propertyAppendToFileGets or sets a Boolean property value that specifies whether the script is appended to the end of the output file or overwrites it.
Public propertyBatchSizeGets or sets the number of statements after which to script batch terminator.
Public propertyBindingsGets or sets a Boolean property value that specifies whether the binding statements sp_binddefault and sp_bindrule are included in the generated script. This property applies only when scripting a SQL Server table.
Public propertyChangeTrackingGets or sets the ChangeTracking property value.
Public propertyClusteredIndexesGets or sets a Boolean property value that specifies whether statements that define clustered indexes are included in the generated script.
Public propertyContinueScriptingOnErrorGets or sets the Boolean property value that specifies whether the scripting operation continues after an error is encountered.
Public propertyConvertUserDefinedDataTypesToBaseTypeGets or sets the Boolean property value that specifies whether user-defined data types are converted to the most appropriate SQL Server base data types in the generated script.
Public propertyDdlBodyOnlyGets or sets the Boolean property 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 propertyDdlHeaderOnlyGets or sets the Boolean property 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 propertyDefaultGets or sets the Boolean property value that specifies whether the creation of the referenced object is included in the generated script.
Public propertyDriAllGets or sets the Boolean property value that specifies whether all DRI objects are included in the generated script.
Public propertyDriAllConstraintsGets or sets the Boolean property value that specifies whether all declarative referential integrity constraints are included in the generated script.
Public propertyDriAllKeysGets or sets the Boolean property value that specifies whether the dependency relationships defined by all declarative referential integrity keys are included in the generated script.
Public propertyDriChecksGets or sets the Boolean property value that specifies whether column specific dependency relationships as defined in check constraints with enforced declarative referential integrity are included in the script.
Public propertyDriClusteredGets or sets the Boolean property value that specifies whether dependency relationships defined in clustered indexes with enforced declarative referential integrity are included in the script.
Public propertyDriDefaultsGets or sets the Boolean property value that specifies whether dependency relationships defined in defaults with enforced declarative referential integrity are included in the script.
Public propertyDriForeignKeysGets or sets the Boolean property value that specifies whether dependency relationships defined in foreign keys with enforced declarative referential integrity are included in the script.
Public propertyDriIncludeSystemNamesGets or sets the Boolean property value that specifies whether the system-generated constraint names that are used to enforce declarative referential integrity are included in the script.
Public propertyDriIndexesGets or sets the Boolean property value that specifies whether PRIMARY KEY constraints that use a unique index to implement the declarative referential integrity are included in the script.
Public propertyDriNonClusteredGets or sets the Boolean property value that specifies whether dependency relationships that are defined in non-clustered indexes that have enforced declarative referential integrity are included in the script.
Public propertyDriPrimaryKeyGets or sets the Boolean property value that specifies whether dependency relationships that are defined in primary keys which have enforced declarative referential integrity are included in the script.
Public propertyDriUniqueKeysGets or sets the Boolean property value that specifies whether dependency relationships that are defined in unique keys which have enforced declarative referential integrity are included in the script.
Public propertyDriWithNoCheckGets or sets the Boolean property value that specifies whether the no check statement is included in the script.
Public propertyEncodingGets or sets the encoding for the scripting options.
Public propertyEnforceScriptingOptionsGets or sets the Boolean property value that specifies whether the application of all scripting options is enforced for text-based objects, such as SchemaQualify.
Public propertyExtendedPropertiesGets or sets the Boolean property value that specifies whether extended object properties are included in the generated script.
Public propertyFileNameGets or sets the name of the file to which the generated script is output.
Public propertyFullTextCatalogsGets or sets the Boolean property value that specifies whether full-text catalogs are included in the generated script.
Public propertyFullTextIndexesGets or sets the Boolean property value that specifies whether full-text indexes are included in the generated script.
Public propertyFullTextStopListsGets or sets the Boolean property value that specifies whether full-text stop lists are included in the generated script.
Public propertyIncludeDatabaseContextGets or sets the Boolean property value that specifies whether database context is included in the generated script.
Public propertyIncludeDatabaseRoleMembershipsGets or sets the IncludeDatabaseRoleMemberships property value.
Public propertyIncludeFullTextCatalogRootPathGets or sets the IncludeFullTextCatalogRootPath property value.
Public propertyIncludeHeadersGets or sets a Boolean property value that specifies whether the generated script is prefixed with a header that contains information which includes the date and time of generation.
Public propertyIncludeIfNotExistsGets or sets a Boolean property value that specifies whether to check the existence of an object before including it in the script.
Public propertyIndexesGets or sets the Boolean property value that specifies whether indexes are included in the generated script.
Public propertyLoginSidGets or sets the Boolean property value that specifies whether the security identifiers are included for any scripted logins in the generated script.
Public propertyNoAssembliesGets or sets the Boolean property value that specifies whether assemblies are included in the generated script.
Public propertyNoCollationGets or sets the Boolean property value that specifies whether to include the collation clause in the generated script.
Public propertyNoCommandTerminatorGets or sets the Boolean property value that specifies whether individual Transact-SQL statements are delimited in the generated script.
Public propertyNoExecuteAsGets or sets the Boolean property value that specifies whether the EXECUTE AS options for stored procedures and user-defined functions are included in the script.
Public propertyNoFileGroupGets or sets the Boolean property value that specifies whether to include the 'ON <filegroup>' clause in the generated script.
Public propertyNoFileStreamGets or sets an object that specifies whether to include the FILESTREAM_ON clause when you create VarBinaryMax columns in the generated script.
Public propertyNoFileStreamColumnGets or sets an object that specifies whether to include the FILESTREAM_ON clause when you create VarBinaryMax columns in the generated script.
Public propertyNoIdentitiesGets or sets the Boolean property value that specifies whether definitions of identity property seed and increment are included in the generated script.
Public propertyNoIndexPartitioningSchemesGets or sets the Boolean property value that specifies whether partition schemes for indexes are included in the generated script.
Public propertyNoMailProfileAccountsGets or sets the Boolean property value that specifies whether mail accounts that are referenced by mail profiles are included in the generated script.
Public propertyNoMailProfilePrincipalsGets or sets the Boolean property value that specifies whether principals that are referenced by mail profiles are included in the generated script.
Public propertyNonClusteredIndexesGets or sets the Boolean property value that specifies whether non-clustered indexes are included in the generated script.
Public propertyNoTablePartitioningSchemesGets or sets the Boolean property value that specifies whether partition schemes for tables are included in the generated script.
Public propertyNoVardecimalGets or sets an object that specifies whether to include the N clause when you create vardecimal columns in the generated script.
Public propertyNoViewColumnsGets or sets the Boolean property value that specifies whether to include the specified columns for a view.
Public propertyNoXmlNamespacesGets or sets the Boolean property value that specifies whether XML namespaces are included in the generated script.
Public propertyOptimizerDataGets or sets the Boolean property value that specifies whether script optimizer data for the referenced objects are included in the generated script.
Public propertyPermissionsGets or sets the Boolean property value that specifies whether to include all permissions in the generated script.
Public propertyPrimaryObjectGets or sets the Boolean property value that specifies whether the creation of the referenced object is included in the generated script.
Public propertySchemaQualifyGets or sets the Boolean property value that specifies whether the schemas associated with objects are included in the generated script.
Public propertySchemaQualifyForeignKeysReferencesGets or sets the Boolean property value that specifies whether schema-qualified table references for foreign key constraints are included in the generated script.
Public propertyScriptBatchTerminatorGets or sets the ScriptBatchTerminator property value.
Public propertyScriptDataGets or sets the ScriptData property value.
Public propertyScriptDataCompressionGets or sets the Boolean property value that specifies whether to include data compression information in the generated script.
Public propertyScriptDropsGets or sets the Boolean property value that specifies whether the script operation generates a Transact-SQL script to remove the referenced component.
Public propertyScriptOwnerGets or sets the Boolean property value that specifies whether the script owner is included in the generated script.
Public propertyScriptSchemaGets or set the ScriptSchema property value.
Public propertyStatisticsGets or sets the Boolean property value that specifies whether to include statistics for any table or view that is included in the generated script.
Public propertyTargetDatabaseEngineTypeGets or sets the DatabaseEngineType property value.
Public propertyTargetServerVersionGets or sets the version of the instance of SQL Server for which the generated script is intended.
Public propertyTimestampToBinaryGets or sets the Boolean property value that specifies whether to convert timestamp data types to binary(8) data types when scripting the creation of a table or user-defined data type.
Public propertyToFileOnlyGets or sets the Boolean property value that specifies whether to output to file only or to also generate string output.
Public propertyTriggersGets or sets the Boolean property value that specifies whether to include the definition for triggers in the generated script.
Public propertyWithDependenciesGets or sets the Boolean property value that specifies whether to include all dependent objects in the generated script.
Public propertyXmlIndexesGets or sets the Boolean property value that specifies whether XML indexes are included in the generated script.
Top

  NameDescription
Public methodAdd(ScriptOption)Adds a ScriptOption object to the ScriptingOptions object.
Public methodStatic memberAdd(ScriptingOptions, ScriptOption)Adds the specified ScriptOption and ScriptingOptions objects to the ScriptingOptions.
Public methodStatic memberConvertVersionConverts the server version to a SqlServerVersion value.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodRemoveRemoves a ScriptOption object from the ScriptingOptions object.
Public methodSetTargetDatabaseEngineTypeSets the database engine type as specified in a DatabaseEngineType object.
Public methodSetTargetServerVersionSets the version of the instance of SQL Server on which the scripting operation is run.
Public methodStatic memberSubtractSubtracts the specified ScriptOption value from the specified ScriptingOptions object.
Public methodToStringReturns a string that represents the ScriptingOptions object. (Overrides Object.ToString().)
Top

  NameDescription
Public operatorStatic memberAdditionCreates a set of scripting options by performing an addition operation on a ScriptingOptions object and a ScriptOption object.
Public operatorStatic memberSubtractionCreates a set of scripting options by performing an subtraction operation on a ScriptingOptions object and a ScriptOption object.
Top

Caution noteCaution

Some scripting 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.

'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
$tb = New-Object Microsoft.SqlServer.Management.Smo.Table
#$smoObjects = new-object Microsoft.SqlServer.Management.Smo.Urn[]0
$smoObjects = $tb.Urn
foreach ($tb in $db.Tables)
{
   $smoObjects = $tb.Urn
   if ($tb.IsSystemObject -eq $FALSE)
   {
      $sc = $scrp.Script($smoObjects)
      foreach ($st in $sc)
      {
         Write-Host $st
      }
   }
}

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

Community Additions

ADD
Show:
© 2014 Microsoft