SQLServer:如何生成数据库的脚本
三种方式: 1、编程方式实现; --功能强大,但要求有编程基础,没有相关的技术文档。 --适合:表、索引等无法通过其它方法批量生成的对象。 2、利用系统视图实现; --获取非常方便,但只能获取到 ?标量函数、表值函数、存储过程、触发器、视图 ?这几种对象,其它对象无法获取。 3、数据库手动操作生成脚本; --较为方便, 但失去了自动化和可编程。 第一种: 1. 引用SQL Server自带的dll文件, 比如我本机(SQL Server2014)在: D:Program Files (x86)Microsoft SQL Server120SDKAssemblies Microsoft.SqlServer.ConnectionInfo.dll Microsoft.SqlServer.Management.Sdk.Sfc.dll Microsoft.SqlServer.Smo.dll Microsoft.SqlServer.SqlEnum.dll (不深入可不用) 2. 类似的文章很多, 就不写demo了, 参考文章: http://www.cnblogs.com/jinzhenshui/archive/2012/04/18/2455210.html? http://www.cnblogs.com/kkun/archive/2009/07/01/1514640.html 第二种: --标量函数、表值函数、存储过程、触发器、视图(包含系统对象) SELECT * FROM sys.all_sql_modules --标量函数、表值函数、存储过程、触发器、视图 SELECT * FROM sys.sql_modules --查询微软示例库(AdventureWorks2014)中能够生成脚本的对象类型 SELECT type_desc,type FROM sys.objects AS o WHERE o.[object_id] IN ( SELECT sys.sql_modules.[object_id] FROM sys.sql_modules ) GROUP BY TYPE,o.type_desc ORDER BY o.type_desc /* type_desc type SQL_SCALAR_FUNCTION FN SQL_STORED_PROCEDURE P SQL_TABLE_VALUED_FUNCTION TF SQL_TRIGGER TR VIEW V */ 第三种: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |