如何将Microsoft SQL Server数据库转储到SQL脚本?


124

有什么方法可以将Microsoft SQL Server数据库导出到sql脚本?

我正在寻找一种行为类似于mysqldump的东西,使用一个数据库名称,并生成一个脚本来重新创建所有表,存储过程,重新插入所有数据等。

我已经看过http://vyaskn.tripod.com/code.htm#inserts,但是理想情况下,我希望有一些东西可以重新创建所有内容(而不仅仅是数据),而这些步骤可以一步一步生成最终的脚本。


@Matt是的,它不会导出数据。这就是为什么我提到您应该将其与建议的脚本结合使用的原因。该方法确实以正确的顺序构建了脚本。
JulioCésar08年

实际上,在Mangement Studio 2008中,您只需要打开“导出数据”选项,该脚本将同时包含架构和插入语句。
user24161


@MattSheppard,请考虑接受其中一个答案
030

Answers:


111

在SQL Server Management Studio中,右键单击数据库,然后选择“任务” /“生成脚本”。按照向导进行操作,您将获得一个脚本,该脚本根据外键以正确的顺序重新创建数据结构。在标题为“设置脚本选项”的向导步骤中,选择“高级”,然后将“脚本的数据类型”选项修改为“架构和数据”

提示:在最后一步中,选择“脚本到新查询窗口”,这样可以更快地工作。


18
只要记住要进入高级选项,并告诉它不仅对模式进行脚本化,还可以对数据进行脚本化。
RomanSt 2012年

2
@romkyns值得所有投票!“脚本的数据类型”是确切的选项名称。您将要选择“架构和数据”。
solidau

2
从SSMS生成的脚本的主要问题是,它们的排序不正确,无法将依赖关系考虑在内。对于小型数据库而言,这不是问题,您可以手动执行此操作,但是当数据库超过50个对象时,绝对是问题。到目前为止,我们已经成功地使用ApexSQL脚本了。这是一个高级工具,但是您可以在试用模式下使用它来完成工作。我认为Red Gate也有类似的工具。
David Smithers 2013年

34

尝试使用Sql Server数据库发布向导。尽管由于依赖关系,您可能需要重新排序脚本以使其一次运行,但是它将包括您的架构和数据。

如果尚未安装2005 SQL XMO对象,则在运行向导时会出现错误。您将需要Microsoft SQL Server 2005管理对象集合


5
实际上,您不需要重新排序脚本,因为它会删除所有约束,创建架构,插入数据,最后重新创建约束。
丹尼尔·席尔维拉

太棒了,这很整齐
哔哔哔声,2010年

尽管仅支持SQL Server 2015,这是一个很棒的工具。2008年及之后的版本呢?
Nam G VU 2015年



6

试试DBSourceTools。它旨在脚本化源数据库,然后重新部署到目标数据库。它编写模式和数据脚本。


6

推荐的解决方案仅适用于sql 2000和2005。如果您要在SQL 2008上执行此操作,

您可以使用SQL 2008来实现,而无需任何其他插件。右键单击数据库,然后选择“任务->生成脚本...”。选择数据库以及要备份的内容。单击下一步,并将“脚本数据”设置为true。

链接中的更多文档:

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema-存储过程函数触发器表视图约束和所有其他数据库对象/



2

SQL Server数据库发布向导确实确实是最好的方法。问题是它似乎无法在Windows 7上运行。我必须使用旧计算机来使用它。从积极的方面来说,它可以与旧版SQL Server(例如2000)一起使用。

对于较新的SQL版本和操作系统,此软件可能值得研究:http : //sqlbackupandftp.com/



0

检查Microsoft SQL Server Schema Dump项目(mssql-schema-dump位于GitHub的工具)。

用法: mssqldump -h data-source-host -u username -p password [-d path/for/files] [-c] [-s] [-a] [-b DB1[,DB2[,DB3]]]

导出支持:

  • DB:架构,用户类型,用户表类型,触发器,全文目录,全文非索引字表,存储过程,函数
  • DB.Tables:模式,触发器,索引,DRI,统计信息
  • DB.Views:模式,触发器,索引,DRI,统计信息
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.