生成db / sprocs / etc的sql脚本。通过命令行

时间:2009-07-08 16:29:23

标签: sql-server

是否可以通过命令行为我的sql server 2005/8数据库生成sql脚本?

我想自动化构建过程,部分内容要求我将整个模式(表/ sprocs / etc)放在文件中。

5 个答案:

答案 0 :(得分:0)

曾经有一个名为SCPTXFR.EXE的实用程序,它是标准SQL Server 7.0和2000安装的一部分。它的初始目的是作为升级过程的一部分,允许将SQL Server 6.5数据库迁移到SQL Server 7.0和但是它在日常环境中也非常有用,因为它允许您以编程方式生成数据库对象的预定脚本。

不确定这是否适用于SQL 2005/2008。查看this文档以获取此实用程序的完整详细信息。

拉​​吉

答案 1 :(得分:0)

我必须在过去的项目中做类似的事情。我使用Sql Server Management Objects编写了一个简单的C#控制台应用程序。你可以编写简单的代码(可能需要一些调整):

服务器myServer =新服务器(“名称”);
   数据库db = myServer.Databases [“name”];

foreach(db.StoredProcedures中的StoredProcedure sp)
   {
        File.WriteAllText(sp.Name,sp.TextBody);
   }

答案 2 :(得分:0)

我为此任务编写了一个实用程序SMOscript

它基于SCPTXFR的原则(Raj提到),并且还支持SQL 2005和2008中的新对象类型。脚本生成由SMO库执行。

答案 3 :(得分:0)

Powershell脚本+对象Microsoft.SqlServer.Management.Smo.Scripter?有关如何开始使用表格的示例,请参阅http://blogs.msdn.com/buckwoody/archive/2009/07/02/powershell-and-sql-server-script-all-tables.aspx。你必须将这个想法扩展到其他对象。

答案 4 :(得分:0)

微软上周发布了一款名为mssql-scripter的新工具。该工具是基于Python的开源命令行工具,您可以在此处找到官方声明。本质上,脚本编写器允许您将数据库/数据库对象的T-SQL脚本(DDL和DML)生成为.sql文件。它是' Generate Scripts'的命令行版本。 SSMS中的向导。这是一个快速使用示例,可​​以帮助您入门(仅架构是默认设置):

$ pip install mssql-scripter
# script the database schema and data piped to a file.
$ mssql-scripter -S localhost -d AdventureWorks -U sa  > ./adventureworks.sql

更多用法示例在我们的GitHub页面上:https://github.com/Microsoft/sql-xplat-cli/blob/dev/doc/usage_guide.md

相关问题