在生成脚本过程中,有很多参数可以选择,合理的配置这些参数,可以让我们很方便的按照我们的期望生成脚本。

生成脚本的一些选项,如下图:
我这里是SQL 2005的选项,SQL 2008的选项跟这个稍有差异。
这个差异可以参看下面两篇文章:
SQL Server 2005的生成SQL Server脚本向导(“选择脚本选项”页)
SQL Server 2008 的生成 SQL Server 脚本向导(“选择脚本选项”页)

参数说明,其中红色部分是我比较常用的。
常规选项部分:
Ansi Padding
在每个CREATE TABLE语句前后添加SET ANSI_PADDING ON语句。默认值为 True。
Append to File
将此脚本添加到现有脚本的底部,在“输出选项”页中指定。默认值为False,指示新脚本将覆盖以前的脚本。
Continue Scripting on Error
True指示出错时停止编写脚本。值为False时,则继续编写脚本。默认值为 False。
Convert UDDTs to Base Types
值为True时,用户定义数据类型被转换为用于创建用户定义数据类型的基本数据类型。将运行脚本的数据库中不存在用户定义数据类型时,请使用True。默认值为 False,指示将使用UDDT为用户定义数据类型编写脚本。
Generate Script for Dependent Objects
生成依赖对象的脚本为在执行所选对象的脚本时必须存在的任何对象生成脚本。默认值为True。
Include Descriptive Headers
值为True时,说明性注释被添加到脚本中,将脚本分成若干个部分,每个对象为一个部分。默认值为 False。
此项我生成时习惯修改为true,这样可以看到注释
Include If NOT EXISTS
值为True时,脚本包含一个用于检查对象在数据库中是否已经存在的语句,并在对象已经存在的情况下不尝试创建新对象。默认值为True。
Include system constraint names
包含系统生成的约束名称,以强制声明性引用完整性。默认值为 False。有
Script Collation
将排序规则信息包含在脚本中。默认值为 False。
参看 http://technet.microsoft.com/zh-cn/library/ms187582(SQL.90).aspx
Script Create
包含每个对象的CREATE语句。默认值为True。
Script Defaults
列存在于原始对象中时包含它们的默认值。默认值为True。
Script Drop
包含每个对象的 DROP 语句。默认值为False。
Script Extended Properties
如果对象具有扩展属性,则在脚本中包含扩展属性。默认值为True。