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

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

我这里是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. python中数据类型转换

    python中list和str互转   1.list转str 假设有一个名为test_list的list,转换后的str名为test_str 则转换方法: test_str = "" ...

  2. MySQL引擎及选择

    一.MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 ...

  3. Windows:FTP命令大全

    Windows:FTP命令大全 简介 1, open:与服务器相连接: 2, send(put):上传文件: 3,get:下载文件: 4,mget:下载多个文件: 用法: mget *:下载当前路径下 ...

  4. Java设计模式学习之工厂模式

    在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了.Java 设计模式之工厂模式 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低 ...

  5. 掌握这个Python小技巧,轻松构建cytoscape导入文件

    今天小编和大家分享如何借助Python脚本轻松构建cytoscape导入文件.Cytoscape是一个非常适合展示各种相互作用关系的可视化软件. 具体来说就是可以用于蛋白互作网络的展示,miRNA与蛋 ...

  6. GitLab 安装与入门

    GitLab介绍: GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github ...

  7. [LnOI2019]加特林轮盘赌(DP,概率期望)

    [LnOI2019]加特林轮盘赌(DP,概率期望) 题目链接 题解: 首先特判掉\(p=0/1\)的情况... 先考虑如果\(k=1\)怎么做到\(n^2\)的时间复杂度 设\(f[i]\)表示有\( ...

  8. Luogu-3527 [POI2011]MET-Meteors

    Luogu-3527 [POI2011]MET-Meteors 题面 Luogu-3527 题解 感觉和上一那道题是一个类型的,直接二分答案,用BIT维护区间加(差分)即可 代码 #include&l ...

  9. EF Code-First 学习之旅 多对多的关系

    public class Student { public Student() { this.Courses = new HashSet<Course>(); } public int S ...

  10. 简单的aop实现日志打印(切入点表达式)

    Spring中可以使用注解或XML文件配置的方式实现AOP. 1.导入jar包 com.springsource.net.sf.cglib -2.2.0.jar com.springsource.or ...