浅谈如何在SQL Server中生成脚本
在生成脚本过程中,有很多参数可以选择,合理的配置这些参数,可以让我们很方便的按照我们的期望生成脚本。
生成脚本的一些选项,如下图:
我这里是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中生成脚本的更多相关文章
- 如何在SQL Server中生成和使用CRUD存储过程
在本文中,请参阅如何在SQL Server中生成和使用CRUD存储过程. 大多数数据库系统基于缩写CRUD调用的最简单的4种数据操作操作进行操作. 此首字母缩写词代表CREATE,READ,UPDAT ...
- SQL Server中生成测试数据
原文:SQL Server中生成测试数据 简介 在实际的开发过程中.很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试.而生成的测试数据往往需要符合特定规则.虽然可以自己写 ...
- 如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录。
如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录. 主要用到DATEADD函数,下面是详细语句 取最近3天 select * from 表名where rq> ...
- 从算法入手讲解如何在SQL Server中实现最优最简
算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键.在计算机世界中,算法无处不在.数据库是存储数据和执行大批量计算的场所,在数据库中使用一些简单的SQL命令,进行存储.查询.统计.以解决现实世 ...
- 如何在SQL Server中的SELECT TOP 中使用变量
语法 [ TOP (expression) [PERCENT] [ WITH TIES ] ] 注意:expression 是在一对圆括号内的,而之后又有如下的例子 在 TOP 中使用变量 以下示 ...
- 浅谈如何优化SQL Server服务器
在中国,使用SQLServer数据库的用户和企业是最多的,那么如何去设计和优化SQLSerer服务器呢,DBA应该遵循那些准则和方法呢,下面就将我的经验与大家分享,希望对大家有所帮助. AD: ...
- SQL Server 数据字典生成脚本
SELECT sysobjects.name AS 表名称 ,--sysproperties.[value] AS 表说明 ,syscolumns.name AS 字段名称 ,--properties ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- 在64位SQL Server中创建Oracle的链接服务器
当我们同时使用SQL Server和Oracle来存储数据时,经常会用到跨库查询.为了方便使用跨库查询,一个最好的办法就是通过创建链接服务器来实现.既可以在SQL Server中创建Oracle的链接 ...
随机推荐
- Qios RibbonForm QRibbonCaption添加qRibbonApplicationButton无法最大化问题
winform 用了Qios DevSuite系列的控件. RibbonForm中QRibbonCaption添加qRibbonApplicationButton之后无法最大化. 修改qRibbonA ...
- wpf利用线程制作初始界面和关闭窗体特效
1.首先定义初始窗体,和主窗体. 初始窗体(StartWindow) 主窗体(MainWindow): 2.在主窗体界面中,加载初始窗体.注意在线程中操作UI元素需要使用BeginInvoke或者In ...
- svn如何给新文件加锁
第一步: 右键subversion(版本控制) 第二部:找到 subversion properties 第二部: add进行添加
- Spark机器学习5·回归模型(pyspark)
分类模型的预测目标是:类别编号 回归模型的预测目标是:实数变量 回归模型种类 线性模型 最小二乘回归模型 应用L2正则化时--岭回归(ridge regression) 应用L1正则化时--LASSO ...
- 基于HTML5和SVG的手机菜单动画
在线演示 本地下载
- cocoa应用程序中NSStatusItem的使用
mac上的应用程序除了左上方会有菜单之外,在屏幕的右上方也会有一个图标样的菜单,这个类似于windows上右下角的system tray. 本文讲述如何给自己的应用程序添加一个system tray( ...
- 2 Powershell与Cmd以及Unix/Linux Shell
上篇文章我说道,windows为了改变用户对其console界面的诟病,于是就从windows vista开始,计划要改变这种局面,于是就有 了Powershell的出现. 1.兼容shell命令 ...
- quartz(5)--作业管理和存储
作业一旦被调度,调度器需要记住并且跟踪作业和它们的执行次数.如果你的作业是30分钟后或每30秒调用,这不是很有用.事实上,作业执行需要非常准确和即时调用在被调度作业上的execute()方法.Quar ...
- thrift安装及常见问题
一.安装thrift (macOS / Linux) 1. 下载thrift0.10.0源码 https://github.com/apache/thrift/releases/tag/0.10.0 ...
- css3+jQuery实现按钮水波纹效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...