首页 文章

如何获取SQL Server数据的脚本? [重复]

提问于
浏览
187

这个问题在这里已有答案:

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

我需要这些数据能够转向并返回到SQL Server,因此它需要维护GUID / uniqueidentifier和其他列类型 .

有谁知道这个好工具?

9 回答

  • 2

    我有一段时间在SQL Management Studio 2012中找到这个选项,但我终于找到了它 . 该选项隐藏在下面屏幕的“高级”按钮中 .

    我总是认为这包含了假定的文件生成高级选项,因为它就是它的下一步,但事实证明,在这种情况下,MS的某些人在UI设计方面真的很糟糕 . HTH有人像我一样来到这个线程 .

    SQL Management Studio 2012

  • 291

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

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

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

    为了完整起见,我也找到了这种方法:Microsoft SqlServer Database Publishing Wizard

  • 34

    看看SSMS Tool Pack . 它适用于Management Studio 2005和2008.有一个选项可以生成插入语句,我发现这些语句有助于将少量数据从一个系统移动到另一个系统 .

    使用此选项,您必须单独编写DDL脚本 .

  • 40

    BCP可以将您的数据转储到文件中,在SQL Server Management Studio中,右键单击该表,然后选择“script table as”,然后选择“create to”,然后选择“file ...”,它将生成一个完整的表脚本 .

    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

  • 4

    如果要编写所有表行的脚本,请按照Daniel Vassallo所描述的Go with Generate Scripts编写脚本 . 你不能在这里出错

    否则使用第二方工具(如ApexSQL Script或SSMS Toolpack)进行更高级的脚本编写,其中包括一些预处理,选择性脚本等 .

  • 7

    在SQL Server Management Studio中,您可以右键单击数据库并选择:

    Tasks -> Generate Scripts
    

    然后只需继续完成向导 . 当提示您选择脚本选项时,请务必将“脚本数据”设置为TRUE .

    SQL Server 2008 R2

    alt text

    进一步阅读:

  • 5

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

  • 1

    SQL Server Management Studio

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

    为此,请按照下列步骤操作:

    右键单击数据库,然后选择“任务”>“生成脚本”

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

    展开“表”树并选择要导出方案和数据的所有表,然后单击“下一步” .

    在下一个屏幕中选择您希望如何保存脚本(输出类型必须保持设置为“将脚本保存到特定位置”),然后单击右上角的“高级”按钮

    在新打开的窗口中,“常规”部分下面是一个名为“脚本数据类型”的设置,将其设置为“方案和数据”,然后单击“确定” .

    单击“下一步”,查看导出摘要,然后再次单击“下一步” . 这将生成所选目标的脚本 .

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

相关问题