如何获取SQL Server数据的脚本?

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

我需要这些数据能够转身回到SQL Server,因此需要维护GUID / uniqueidentifiers和其他列types。

有谁知道这个好工具?

从SQL Server Management Studio中,您可以右键单击数据库并select:

Tasks -> Generate Scripts 

然后简单地通过向导。 提示select脚本选项时,请务必将“脚本数据”设置为TRUE。

SQL Server 2008 R2

替代文字

进一步阅读:

  • 罗伯特·伯克:SQL Server 2005 – 脚本数据库

我在SQL Management Studio 2012中find了这个选项,但是我终于find了。 该选项隐藏在下面屏幕的“高级”button中。

我总是认为这只是假定文件生成的高级选项,因为这是它的下一个,但事实certificate,在这种情况下,在MS的人是非常糟糕的UIdevise。 HTH有人像我这样来到这个线程。

SQL管理Studio 2012

如果你想脚本所有的表行,然后按照丹尼尔Vassallo描述的生成脚本。 你不能在这里出错

否则,请使用第三方工具(如ApexSQL Script或SSMS Toolpack)来执行更高级的脚本,其中包括一些预处理,select性脚本等等。

SQL Server Management Studio

这是执行此任务的最佳工具。 你可以生成一个脚本,它将从数据库中build立你想要的任何表格,并在这些表格中插入数据(据我所知你必须导出所选表格中的所有数据)。

要这样做请按照下列步骤操作:

  1. 右键单击数据库,然后select“任务”>“生成脚本”

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

  3. 展开“Tables”树并select所有希望导出scheme和数据的表,然后单击Next

  4. 在下一个屏幕中,select您希望如何保存脚本(输出types必须保持设置为“将脚本保存到特定位置”),然后单击右上angular的高级button

  5. 在新打开的窗口中,常规部分下面是一个名为“脚本数据types”的设置,将其设置为“Scheme and data”,然后单击“确定”

  6. 单击下一步,查看导出摘要并再次单击下一步。 这将生成脚本到您select的目的地。

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

检查SSMS工具包 。 它可以在Management Studio 2005和2008中运行。有一个选项可以生成插入语句,我发现它有助于将less量数据从一个系统移动到另一个系统。

有了这个选项,你将不得不单独编写DDL脚本。

为了完整起见,我也find了这样的方法: Microsoft SqlServer数据库发布向导

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

运行它没有向导的参数。 给它的参数在命令行上运行。

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

BCP可以将你的数据转储到一个文件中,然后在SQL Server Management Studio中,右键单击表,select“脚本表”,然后“创build到”,然后“文件…”,它会产生一个完整的表脚本。

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

我知道这已经被回答了,但我在这里提供一个警告的话。 我们最近从一个有周期性外键引用的客户端收到一个数据库。 SQL Server脚本生成器拒绝为具有循环引用的数据库生成数据。