我正在寻找一种方法来做一些类似于从SQL Server的MySQL转储。我需要能够选择表并导出模式和数据(或者我可以通过SQL Server Management Studio导出模式并以某种方式单独导出数据)。
我需要这些数据能够转身,回到SQL Server,所以它需要维护guid /唯一标识符和其他列类型。
有人知道有什么好工具吗?
我正在寻找一种方法来做一些类似于从SQL Server的MySQL转储。我需要能够选择表并导出模式和数据(或者我可以通过SQL Server Management Studio导出模式并以某种方式单独导出数据)。
我需要这些数据能够转身,回到SQL Server,所以它需要维护guid /唯一标识符和其他列类型。
有人知道有什么好工具吗?
当前回答
SqlPubWiz.exe(对我来说,它在C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Publishing\1.2>)
运行它时不带任何向导参数。给它在命令行上运行的参数。
SqlPubWiz.exe script -C "<ConnectionString>" <OutputFile>
其他回答
我知道这个问题已经有人回答了,但我在这里提出一个警告。 我们最近从客户端收到一个数据库,该数据库有一个循环外键引用。SQL Server脚本生成器拒绝为循环引用的数据库生成数据。
如果您希望脚本化所有表行,那么 使用Daniel Vassallo所描述的生成脚本。你不会错的
其他的 使用第三方工具,如ApexSQL Script或SSMS Toolpack,用于更高级的脚本,包括一些预处理,选择性脚本等。
SQL Server Management Studio
这是执行这项任务的最佳工具。您可以生成一个脚本,该脚本将从数据库中构建任何您希望的表,以及在这些表中插入数据(据我所知,您必须导出所选表中的所有数据)。
要做到这一点,请遵循以下步骤:
Right-click on your database and select Tasks > Generate Scripts In the Generate and Publish Scripts wizard, select the "Select specific database objects" option Expand the "Tables" tree and select all of the tables you wish to export the scheme and data for, then click Next In the next screen choose how you wish to save the script (the Output Type must remain set as "Save scripts to a specific location"), then click the Advanced button in the top right corner In the newly opened window, under the General section is a setting called "Types of data to script", set this to "Scheme and data" and click OK Click Next, review the export summary and click Next again. This will generate the script to your selected destination.
要恢复数据库,只需创建一个新数据库,并将生成的脚本的第一行更改为USE [your . new . database]。Name],然后执行。现在,新数据库将拥有从原始数据库中选择的所有表和数据。
SqlPubWiz.exe(对我来说,它在C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Publishing\1.2>)
运行它时不带任何向导参数。给它在命令行上运行的参数。
SqlPubWiz.exe script -C "<ConnectionString>" <OutputFile>
我花了很长时间在SQL Management Studio 2012中找到这个选项,但我最终找到了它。该选项隐藏在下面的屏幕中的Advanced按钮中。
我一直认为这只是包含了文件生成的高级选项,因为这是它旁边的内容,但事实证明微软的某些人在这种情况下真的很不擅长UI设计。HTH有人来这个线程像我一样。