我正在寻找一种类似于SQL Server的MySQL转储的方法。我需要能够选择表并导出模式和数据(或者我可以通过SQL Server Management Studio导出模式并以某种方式单独导出数据)。
我需要这些数据能够转向并返回SQL Server,因此需要维护GUID / uniqueidentifier和其他列类型。
有谁知道这个好工具?
答案 0 :(得分:315)
在SQL Server Management Studio中,您可以右键单击数据库并选择:
Tasks -> Generate Scripts
然后继续完成向导。当提示您选择脚本选项时,请确保将“脚本数据”设置为“TRUE”。
进一步阅读:
答案 1 :(得分:52)
这是执行此任务的最佳工具。您可以生成一个脚本,该脚本将构建您希望从数据库中获取的任何表,并在这些表中插入数据(据我所知,您必须导出所选表中的所有数据)。
要执行此操作,请按以下步骤操作:
要恢复数据库,只需创建一个新数据库并将生成的脚本的第一行更改为USE [Your.New.Database.Name]
,然后执行。您的新数据库现在将包含您从原始数据库中选择的所有表和数据。
答案 2 :(得分:36)
我有一段时间在SQL Management Studio 2012中找到这个选项,但我终于找到了它。该选项隐藏在下面屏幕的“高级”按钮中。
我总是认为这包含假定的文件生成高级选项,因为它就是它的下一步,但事实证明,在这种情况下,MS的某些人在UI设计上真的很糟糕。 HTH像我一样来到这个线程的人。
答案 3 :(得分:24)
如果要编写所有表行的脚本 按照Daniel Vassallo的描述使用Generate Scripts。你不能错在这里
否则 使用第三方工具(如ApexSQL Script或SSMS Toolpack)进行更高级的脚本编写,包括一些预处理,选择性脚本等。
答案 4 :(得分:7)
结帐SSMS Tool Pack。它适用于Management Studio 2005和2008.有一个选项可以生成插入语句,我发现这些语句有助于将少量数据从一个系统移动到另一个系统。
使用此选项,您必须单独编写DDL脚本。
答案 5 :(得分:5)
SqlPubWiz.exe(对我来说,它位于C:\ Program Files(x86)\ Microsoft SQL Server \ 90 \ Tools \ Publishing \ 1.2>)
运行它时没有向导的参数。给它参数在命令行上运行。
SqlPubWiz.exe script -C "<ConnectionString>" <OutputFile>
答案 6 :(得分:4)
为了完整起见,我也找到了这种方法:Microsoft SqlServer Database Publishing Wizard
答案 7 :(得分:1)
BCP可以将您的数据转储到文件中,在SQL Server Management Studio中,右键单击该表,然后选择“脚本表为”,然后选择“创建到”,然后“文件...”,它将生成一个完整的表脚本。
BCP信息
https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/datacenter/?p=319
http://msdn.microsoft.com/en-us/library/aa174646%28SQL.80%29.aspx
答案 8 :(得分:1)
我知道这已经得到了回答,但我在这里提出警告。 我们最近收到了一个客户端的数据库,该数据库具有循环外键引用。 SQL Server脚本生成器拒绝为具有循环引用的数据库生成数据。