ScriptOption 类

ScriptOption 对象表示 SQL Server 脚本选项,这些选项可以包含在通过使用 ScriptingOptions 对象设置的脚本选项中。

继承层次结构

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

命名空间:  Microsoft.SqlServer.Management.Smo
程序集:  Microsoft.SqlServer.Smo(在 Microsoft.SqlServer.Smo.dll 中)

语法

声明
Public NotInheritable Class ScriptOption
用法
Dim instance As ScriptOption
public sealed class ScriptOption
public ref class ScriptOption sealed
[<SealedAttribute>]
type ScriptOption =  class end
public final class ScriptOption

ScriptOption 类型公开以下成员。

属性

  名称 说明
公共属性静态成员 AgentAlertJob 获取一个对象,该对象指定是否要在脚本中包括 SQL Server 代理警报和作业。 
公共属性静态成员 AgentJobId 获取一个对象,该对象指定是否要在脚本中包括 SQL Server 代理警报和作业。 
公共属性静态成员 AgentNotify 获取一个对象,该对象指定是否要为脚本中的任何 SQL Server 代理警报包括通知。 
公共属性静态成员 AllowSystemObjects 获取一个对象,该对象指定是否可以编写系统对象的脚本。
公共属性静态成员 AnsiFile 获取一个对象,该对象指定脚本是否使用多字节字符和要求代码页 1252 以便评估字符含义。
公共属性静态成员 AnsiPadding 获取一个对象,该对象指定生成的脚本在 CREATE TABLE 语句的前后是否分别包含 Transact-SQL 语句 SET ANSI-PADDING ON 和 SET ANSI-PADDING OFF。
公共属性静态成员 AppendToFile 获取一个对象,该对象指定脚本是追加到输出文件的末尾还是改写它。
公共属性静态成员 Bindings 获取一个对象,该对象指定是否在生成的脚本中包含绑定语句 sp_binddefault 和 sp_bindrule。仅在编写 Microsoft SQL Server 表的脚本时应用此属性。
公共属性静态成员 ChangeTracking 获取 ChangeTracking 属性值。
公共属性静态成员 ClusteredIndexes 获取一个对象,该对象指定是否在生成的脚本中包括用于定义聚集索引的语句。
公共属性静态成员 ContinueScriptingOnError 获取一个对象值,该值指定是否在遇到错误后继续执行脚本操作。
公共属性静态成员 ConvertUserDefinedDataTypesToBaseType 获取一个对象值,该值指定用户定义数据类型是否转换为生成的脚本中最合适的 SQL Server 基础数据类型。 
公共属性静态成员 DdlBodyOnly 获取一个对象值,该值指定是否仅为具有文本正文的数据定义语言 (DDL) 对象(例如存储过程和触发器)编写文本定义的脚本。
公共属性静态成员 DdlHeaderOnly 获取一个对象值,该值指定是否仅为具有文本正文的数据定义语言 (DDL) 对象(例如存储过程和触发器)编写标头信息的脚本。
公共属性静态成员 Default 获取一个对象值,该值指定是否在生成的脚本中包括被引用对象的创建。
公共属性静态成员 DriAll 获取一个对象值,该值指定是否在生成的脚本中包括 DRI 对象。
公共属性静态成员 DriAllConstraints 获取一个对象值,该值指定是否在生成的脚本中包括所有 DRI 约束。
公共属性静态成员 DriAllKeys 获取一个对象值,该值指定是否在生成的脚本中包括所有 DRI 键(DriForeignKeys、DriPrimaryKey、DriUniqueKeys)。
公共属性静态成员 DriChecks 获取一个对象值,该值指定在脚本中是否包括使用强制声明性引用完整性在检查约束中定义的特定于列的依赖关系。
公共属性静态成员 DriClustered 获取一个对象值,该值指定在脚本中是否包括使用强制声明性引用完整性在聚集索引中定义的依赖关系。
公共属性静态成员 DriDefaults 获取一个对象值,该值指定在脚本中是否包括使用强制声明性引用完整性在默认值中定义的依赖关系。
公共属性静态成员 DriForeignKeys 获取一个对象值,该值指定在脚本中是否包括使用强制声明性引用完整性在外键中定义的依赖关系。
公共属性静态成员 DriIncludeSystemNames 获取一个对象值,该值指定是否在生成的脚本中包括用于强制声明性引用完整性的系统生成的约束名称。
公共属性静态成员 DriIndexes 获取一个对象值,该值指定是否在生成的脚本中包括使用唯一索引来实现声明性引用完整性的 PRIMARY KEY 约束。
公共属性静态成员 DriNonClustered 获取一个对象值,该值指定在脚本中是否包括使用强制声明性引用完整性在非聚集索引中定义的依赖关系。
公共属性静态成员 DriPrimaryKey 获取一个对象值,该值指定在脚本中是否包括使用强制声明性引用完整性在主键中定义的依赖关系。
公共属性静态成员 DriUniqueKeys 获取一个对象值,该值指定在脚本中是否包括使用强制声明性引用完整性在唯一键中定义的依赖关系。
公共属性静态成员 DriWithNoCheck 获取一个对象值,该值指定是否在脚本中不包括检查语句。
公共属性静态成员 EnforceScriptingOptions 获取一个对象值,该值指定是否为基于文本的对象(例如 SchemaQualify)强制应用所有脚本选项。
公共属性静态成员 ExtendedProperties 获取一个对象值,该值指定是否在生成的脚本中包括扩展的对象属性。
公共属性静态成员 FullTextCatalogs 获取一个对象值,该值指定是否在生成的脚本中包括全文目录。
公共属性静态成员 FullTextIndexes 获取一个对象值,该值指定是否在生成的脚本中包括全文索引。
公共属性静态成员 FullTextStopLists 获取一个对象值,该值指定是否在生成的脚本中包括全文非索引字表。
公共属性静态成员 IncludeDatabaseContext 获取一个对象值,该值指定是否在生成的脚本中包括数据库内容。
公共属性静态成员 IncludeDatabaseRoleMemberships 获取 IncludeDatabaseRoleMemberships 属性值。
公共属性静态成员 IncludeFullTextCatalogRootPath 获取 IncludeFullTextCatalogRootPath 属性值。
公共属性静态成员 IncludeHeaders 获取一个对象,该对象指定生成的脚本是否以包含生成日期和时间等信息的标头为前缀。
公共属性静态成员 IncludeIfNotExists 获取一个对象,该对象指定在脚本中包括某一对象前是否检查该对象的存在。
公共属性静态成员 Indexes 获取一个对象,该对象指定是否在生成的脚本中包括索引。
公共属性静态成员 LoginSid 获取或设置布尔属性值,该值指定对于生成的脚本中的任何用脚本撰写的登录名是否包括安全标识符。
公共属性静态成员 NoAssemblies 获取一个对象,该对象指定是否在生成的脚本中排除程序集。
公共属性静态成员 NoCollation 获取一个对象值,该值指定如果服务器正在运行 SQL Server 7.0 版或更高版本,则是否在生成的脚本中包括集合。
公共属性静态成员 NoCommandTerminator 获取一个对象值,该值指定是否在生成的脚本中分隔单独的 Transact-SQL 语句。
公共属性静态成员 NoExecuteAs 获取一个对象值,该值指定是否在脚本中包括用于存储过程和用户定义函数的 EXECUTE AS 选项。
公共属性静态成员 NoFileGroup 获取一个对象值,该值指定是否在生成的脚本中包括“ON <filegroup>”子句。
公共属性静态成员 NoFileStream 获取一个对象,该对象指定在生成的脚本中创建 VarBinaryMax 列时是否包括 FILESTREAM_ON 子句。
公共属性静态成员 NoFileStreamColumn 获取一个对象,该对象指定在生成的脚本中创建 VarBinaryMax 列时是否包括 FILESTREAM_ON 子句。
公共属性静态成员 NoIdentities 获取一个对象值,该值指定是否在生成的脚本中包括标识属性种子和增量的定义。
公共属性静态成员 NoIndexPartitioningSchemes 获取一个对象值,该值指定是否在生成的脚本中包括索引的分区方案。
公共属性静态成员 NoMailProfileAccounts 获取一个对象值,该值指定是否在生成的脚本中包括邮件配置文件引用的邮件帐户。
公共属性静态成员 NoMailProfilePrincipals 获取一个对象值,该值指定是否在生成的脚本中排除邮件配置文件引用的主体。
公共属性静态成员 NonClusteredIndexes 获取一个对象值,该值指定是否在生成的脚本中包括非聚集索引。
公共属性静态成员 NoTablePartitioningSchemes 获取一个对象值,该值指定是否在生成的脚本中包括表的分区方案。
公共属性静态成员 NoVardecimal 获取 NoVardecimal 属性值。
公共属性静态成员 NoViewColumns 获取一个对象值,该值指定是否要包括视图的指定列。
公共属性静态成员 NoXmlNamespaces 获取一个对象值,该值指定是否在生成的脚本中包括 XML 命名空间。
公共属性静态成员 OptimizerData 获取一个对象值,该值指定是否在生成的脚本中包括被引用对象的脚本优化器数据。
公共属性静态成员 Permissions 获取一个对象值,该值指定是否在生成的脚本中包括所有权限。
公共属性静态成员 PrimaryObject 获取一个对象值,该值指定是否在生成的脚本中包括被引用对象的创建。
公共属性静态成员 SchemaQualify 获取一个对象值,该值指定脚本中是否包含没有架构的对象。
公共属性静态成员 SchemaQualifyForeignKeysReferences 获取一个对象值,该值指定是否在生成的脚本中包括外键引用的表(没有任何架构)。
公共属性静态成员 ScriptBatchTerminator 获取 ScriptBatchTerminator 属性值。
公共属性静态成员 ScriptData 获取 ScriptData 属性值。
公共属性静态成员 ScriptDataCompression 获取一个对象值,该值指定是否在生成的脚本中包括被引用对象的创建。
公共属性静态成员 ScriptOwner 获取一个对象值,该值指定是否在生成的脚本中包括被引用对象的创建。
公共属性静态成员 ScriptSchema 获取 ScriptSchema 属性值。
公共属性静态成员 Statistics 获取一个对象值,该值指定是否在生成的脚本中包括为任何表或者视图生成的统计信息。
公共属性静态成员 TimestampToBinary 获取一个对象值,该值指定在编写表或用户定义数据类型的创建脚本时是否要将时间戳数据类型转换为 binary(8) 数据类型。
公共属性静态成员 ToFileOnly 获取一个对象值,该值指定是仅输出到文件还是也生成字符串输出。
公共属性静态成员 Triggers 获取一个对象值,该值指定是否在生成的脚本中包括针对触发器的定义。
公共属性静态成员 WithDependencies 获取一个对象值,该值指定是否在生成的脚本中包括所有依赖对象。
公共属性静态成员 XmlIndexes 获取一个对象值,该值指定是否在生成的脚本中包括 XML 索引。

页首

方法

  名称 说明
公共方法静态成员 Add 添加两个 ScriptOption 对象以便创建 ScriptOptions 对象。
公共方法静态成员 BitwiseOr 使用位或运算合并两个 ScriptingOptions 对象。
公共方法 Equals 返回指定两个 ScriptOptions 是否相等的布尔值。 (覆盖 Object. . :: . .Equals(Object)。)
受保护方法 Finalize (从 Object 继承。)
公共方法 GetHashCode 返回此对象的哈希代码。 (覆盖 Object. . :: . .GetHashCode() () () ()。)
公共方法 GetType (从 Object 继承。)
受保护方法 MemberwiseClone (从 Object 继承。)
公共方法 ToString 返回表示当前对象的字符串。 (覆盖 Object. . :: . .ToString() () () ()。)

页首

运算符

  名称 说明
公共运算符静态成员 Addition 通过对两个 ScriptOption 对象执行加法运算,创建一组脚本选项。
公共运算符静态成员 BitwiseOr 通过对两个 ScriptOption 对象执行位或运算,创建一组脚本选项。
公共运算符静态成员 Implicit Widening Implicit Implicit Implicit(ScriptOption to ScriptingOptions) 隐式将指定的 ScriptOption 转换为 ScriptingOptions 对象。

页首

注释

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

此类型的任何公共静态(Microsoft Visual Basic 中的 Shared)成员在多线程操作中是安全的。不保证所有实例成员都是线程安全的。

示例

'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

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。不保证所有实例成员都是线程安全的。