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

生成脚本的一些选项,如下图:

我这里是SQL 2005 的选项, SQL 2008 的选项跟这个稍有差异。

这个差异可以参看下面两篇文章

SQL Server 2005 的生成 SQL Server 脚本向导(“选择脚本选项”页)
http://technet.microsoft.com/zh-cn/library/ms186472(SQL.90).aspx

SQL Server 2008 的生成 SQL Server 脚本向导(“选择脚本选项”页)
http://technet.microsoft.com/zh-cn/library/ms186472.aspx

参数说明,其中红色部分是我比较常用的。

常规选项部分:

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。

Script for Server Version

创建可在选定的 SQL Server 版本上运行的脚本。无法为早期版本编写 SQL Server 2005 新增功能的脚本。某些为 SQL
Server 2005 创建的脚本无法在运行 SQL Server
较早版本的服务器上运行,也无法在具有较早数据库兼容级别设置的数据库中运行。默认为 SQL Server 2005。

Script Logins

要编写脚本的对象是数据库用户时,请使用“编写登录脚本”选项创建用户所依赖的登录。默认值为 False。

Script Object-Level Permissions

包含对数据库中的对象设置权限的脚本。默认值为 False。

Script Owner

值为 True 时,CREATE 语句包含当前的对象所有者或架构。值为 False 时,CREATE 语句不包含对象所有者或架构,而且脚本创建的对象将对正在执行该脚本的用户使用默认值。默认值为 True。

如果 true, 比如存储过程名字就可能是 dbo.*** 如果 false,则没有dbo.这个信息。我习惯于false。

Script Statistics

设置为“编写统计信息脚本”时,将包含 CREATE STATISTICS 语句以重新创建有关对象的统计信息。“编写统计信息和直方图脚本”设置还会创建直方图信息。默认为不编写统计信息脚本。

Script USE DATABASE

将 USE DATABASE 语句添加到脚本中。要确保在正确的数据库中创建数据库对象,请包含 USE DATABASE 语句。如果预计脚本将在其他数据库中使用,请选择 False 以省略 USE DATABASE 语句。默认值为 False。

Script VarDecimal Options

包含脚本的 vardecimal 存储选项。默认值为 False。
参看 http://technet.microsoft.com/zh-cn/library/bb326755(SQL.90).aspx

表和视图部分

Script Check Constraints

将 CHECK 约束添加到脚本中。默认值为 True。CHECK 约束要求输入表中的数据满足某些指定的条件。

Script Foreign Keys

将外键添加到脚本中。默认值为 True。外键可指示和强制保持表间的关系。

Script Full-Text Indexes

包含每个表的全文本索引或脚本的索引视图。默认值为 False。

Script Indexes

添加每个表的聚集索引、非聚集索引和 XML 索引,或添加脚本的索引视图。默认值为 False。

Script Primary Keys

添加对表创建主键脚本。默认值为 True。主键可唯一标识表的每一行。

Script Triggers

添加对表创建触发器脚本。默认值为 True。触发器会在数据被修改时引发操作。

Script Unique Keys

添加对表创建唯一键脚本。唯一键可防止输入重复的数据。默认值为 True。

其他的一些选项大家都很熟悉,就是让我们选择那些数据库对象要生成。忽略不计。

在生成何种格式时,SQL Server 很方便的给我们提供了一些选项,如下:

这里可以方便的选择以 Unicode 或“ANSI 文本”格式将脚本生成到 .sql 文件中。

而且可以所有脚本在一个文件,也可以每个对象的脚本在一个自己的文件。

再后面就是确认生成选项,然后就生成了。

浅谈如何在SQL Server中生成脚本的更多相关文章

  1. 如何在SQL Server中生成和使用CRUD存储过程

    在本文中,请参阅如何在SQL Server中生成和使用CRUD存储过程. 大多数数据库系统基于缩写CRUD调用的最简单的4种数据操作操作进行操作. 此首字母缩写词代表CREATE,READ,UPDAT ...

  2. SQL Server中生成测试数据

    原文:SQL Server中生成测试数据 简介      在实际的开发过程中.很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试.而生成的测试数据往往需要符合特定规则.虽然可以自己写 ...

  3. 如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录。

    如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录. 主要用到DATEADD函数,下面是详细语句 取最近3天 select * from 表名where rq> ...

  4. 从算法入手讲解如何在SQL Server中实现最优最简

    算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键.在计算机世界中,算法无处不在.数据库是存储数据和执行大批量计算的场所,在数据库中使用一些简单的SQL命令,进行存储.查询.统计.以解决现实世 ...

  5. 如何在SQL Server中的SELECT TOP 中使用变量

    语法   [ TOP (expression) [PERCENT] [ WITH TIES ] ] 注意:expression 是在一对圆括号内的,而之后又有如下的例子 在 TOP 中使用变量 以下示 ...

  6. 浅谈如何优化SQL Server服务器

      在中国,使用SQLServer数据库的用户和企业是最多的,那么如何去设计和优化SQLSerer服务器呢,DBA应该遵循那些准则和方法呢,下面就将我的经验与大家分享,希望对大家有所帮助. AD:   ...

  7. SQL Server 数据字典生成脚本

    SELECT sysobjects.name AS 表名称 ,--sysproperties.[value] AS 表说明 ,syscolumns.name AS 字段名称 ,--properties ...

  8. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  9. 在64位SQL Server中创建Oracle的链接服务器

    当我们同时使用SQL Server和Oracle来存储数据时,经常会用到跨库查询.为了方便使用跨库查询,一个最好的办法就是通过创建链接服务器来实现.既可以在SQL Server中创建Oracle的链接 ...

随机推荐

  1. 【Thinking in java, 4e】复用类

    mark一篇09年的<Thinking in Java>笔记:here --> https://lawrence-zxc.github.io/2009/11/07/thinking- ...

  2. Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件

    一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建:   这样一个Django项目就创建完成了,上面可以看 ...

  3. 深入理解JVM 垃圾收集器(上)

    HotSpot虚拟机中的垃圾收集器 GC评价标准 GC调优 响应时间 吞吐量 1.新生代收集器 Serial收集器 ParNew收集器 Parallel Scavenge收集器 2.老年代收集器 Se ...

  4. idea中如何debug本地maven项目

    方法一:使用maven中的jetty插件调试本地maven项目 1.打断点 2.右击“jetty:run”,选择Debug运行 3.浏览器发送http请求,开始调试 方法二:利用远程调试功能调试本地m ...

  5. Multiple actions were found that match the request in Web Api

    https://stackoverflow.com/questions/14534167/multiple-actions-were-found-that-match-the-request-in-w ...

  6. LeetCode——Construct the Rectangle

    LeetCode--Construct the Rectangle Question For a web developer, it is very important to know how to ...

  7. scjp考试准备 - 10 - 类型转换

    题目为如下代码的执行结果: class Building{} public class Barn extends Building{ public static void main(String[] ...

  8. 探秘DPDK Virtio的不同路径

    什么是Vhost/Virtio Vhost/Virtio是一种半虚拟化的设备抽象接口规范, 在Qemu和KVM中的得到了广泛的应用,在客户机操作系统中实现的前端驱动程序一般直接叫Virtio, 在宿主 ...

  9. 使用Mybatis时报错Invalid bound statement (not found):

    使用逆向工程时生成的.xml文件在conf目录下,而使用查询方法时,无法在dao包下找到xml文件,所以报错. 测试代码如下所示: @Test public void testSimple() thr ...

  10. ie if判断

    <p> </p> <!--[if lt IE 7]> <html lang="en" ng-app="myApp" c ...