如何获取SQL Server数据脚本?

我正在寻找一种方法来做一些类似于从SQL Server的MySQL转储。我需要能够选择表并导出模式和数据(或者我可以通过SQL Server Management Studio导出模式并以某种方式单独导出数据)。

我需要这些数据能够转身,回到SQL Server,所以它需要维护guid /唯一标识符和其他列类型。

有人知道有什么好工具吗?

253344 次浏览

BCP可以将您的数据转储到一个文件中,然后在SQL Server Management Studio中,右键单击表,选择“脚本表作为”,然后选择“创建到”,然后选择“文件…”,它将生成一个完整的表脚本。

< br > < p > BCP信息 https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/datacenter/?p=319 < br > http://msdn.microsoft.com/en-us/library/aa174646%28SQL.80%29.aspx < / p >

在SQL Server Management Studio中,你可以右键点击你的数据库并选择:

Tasks -> Generate Scripts

然后简单地通过向导进行操作。当提示选择脚本选项时,请确保将“Script Data”设置为TRUE。

SQL Server 2008 R2

alt text

进一步阅读:

查看SSMS工具包。它工作在管理工作室2005年和2008年。有一个生成插入语句的选项,我发现它有助于将少量数据从一个系统转移到另一个系统。

使用此选项,您将不得不单独编写DDL脚本。

SqlPubWiz.exe(对我来说,它在C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Publishing\1.2>)

运行它时不带任何向导参数。给它在命令行上运行的参数。

SqlPubWiz.exe script -C "<ConnectionString>" <OutputFile>

如果你想脚本所有的表行,那么 使用Daniel Vassallo所描述的生成脚本。你不会错的

< p >其他 使用第三方工具,如ApexSQL脚本或SSMS Toolpack,以获得更高级的脚本,包括一些预处理,选择性脚本等

我花了很长时间在SQL Management Studio 2012中找到这个选项,但我最终找到了它。该选项隐藏在下面的屏幕中的Advanced按钮中。

我一直认为这只是包含了文件生成的高级选项,因为这是它旁边的内容,但事实证明微软的某些人在这种情况下真的很不擅长UI设计。HTH有人来这个线程像我一样。

SQL Management Studio 2012

我知道这个问题已经有人回答了,但我在这里要提出一个警告。 我们最近从客户端收到一个数据库,该数据库有一个循环外键引用。

. SQL Server脚本生成器拒绝为循环引用的数据库生成数据

SQL Server Management Studio

这是执行这项任务的最佳工具。您可以生成一个脚本,该脚本将从数据库中构建任何您希望的表,以及在这些表中插入数据(据我所知,您必须导出所选表中的所有数据)。

要做到这一点,请遵循以下步骤:

  1. 右键单击数据库并选择Tasks > Generate Scripts

  2. 在生成和发布脚本向导中,选择“选择特定的数据库对象”选项

  3. 展开“Tables”树并选择您希望为其导出方案和数据的所有表,然后单击Next

  4. 在下一个屏幕中选择您希望保存脚本的方式(Output Type必须保持为“save scripts to a specific location”),然后单击右上角的Advanced按钮

  5. 在新打开的窗口中,在General部分下有一个名为“Types of data to script”的设置,将其设置为“Scheme and data”,然后单击OK

  6. 单击Next,检查导出摘要,然后再次单击Next。这将生成到所选目的地的脚本。

要恢复数据库,只需创建一个新数据库,并将生成脚本的第一行更改为USE [Your.New.Database.Name],然后执行。现在,新数据库将拥有从原始数据库中选择的所有表和数据。