从SQL Server 2012数据库获取.sql文件

36

我需要从一个已存在的 SQL Server 2012 数据库中获取 .sql 文件。在导出选项中我只看到了分隔文件,这是否可行?

例如,我有一个名为 table1 的表格,其中有30条记录。我需要一个类似下面这样的文件。(我知道我的语法不正确,但你应该明白我的意思)。

CREATE TABLE table1 (
    INSERT INTO table1 values (
   .......)
3个回答

81

如果你只想生成一个.sql脚本,可以右键单击对象资源管理器中的数据库,然后选择任务>生成脚本:

显示图像描述

接着,你可以选择数据库和所有对象,或者只选择你想要的表:

显示图像描述

然后选择一个位置,并确保在继续之前进入高级选项:

显示图像描述

在高级选项下,至少将数据类型更改为“架构和数据”(如果你这样做而不是进行适当的备份是因为你需要将数据导入SQL Server 2012之前的数据库,则应该将目标服务器版本选项更改为你针对的版本):

显示图像描述

如果你在管理工作室中没有那个选项,那你可能仍在运行客户端工具的RTM版本。从SP1开始,完整功能最终已被免费提供。在此处下载最新版本-SP2:

http://www.microsoft.com/en-us/download/details.aspx?id=43351

(你需要其中一个SQLManagementStudio文件。)


2
现在正在安装Windows更新。非常感谢提供的屏幕截图。 - Andrew
1
有没有通过PowerShell或CLI完成这个任务的方法?被限制在图形用户界面下进行自动化非常痛苦。 - MrMesees
使用SQL Server 2016一切都很好!谢谢@Aaron。 - PatsonLeaner

1

在任务下的数据库上右键单击,选择生成脚本,然后会打开向导,您可以将表结构和数据导出到另一个数据库。

您必须选择要导出的表和其他模式,并且在其中一页上有一个复选框可选择导出表数据。

这将为您的数据库生成SQL语句。

这可能在Express版本中不可用,我没有检查过。


它不能仅仅因为我只得到了分隔文件选项。 - Andrew
是的,我没有看到备份模式。我认为他们也应该在Express版本中提供此选项。 - Andrew
它不在备份模式下,而是在工具下的导出选项。 - Hogan
那就是我要找的地方。我没有看到备份架构的选项。我刚在stackoverflow上读了另一篇文章,说它不能轻易地在Express版本中完成。 - Andrew
@Andrew 如果选项缺失,我认为你只需要下载SP1(我在我的回答中提供了一个链接)。然而,我认为“生成脚本”选项要简单得多。依我之见。 - Aaron Bertrand

1
您有多种选择来启动SQL Server导入和导出向导:
  • 在“开始”菜单上,指向“所有程序”,指向“Microsoft SQL Server”,然后单击“导入和导出数据”。
  • 在SQL Server数据工具(SSDT)中,右键单击SSIS包文件夹,然后单击SSIS导入和导出向导。
  • 在SQL Server数据工具(SSDT)中,单击“项目”菜单,然后单击“SSIS导入和导出向导”。
  • 在SQL Server管理工具中,连接到数据库引擎服务器类型,展开“数据库”,右键单击一个数据库,指向“任务”,然后单击“导入数据”或“导出数据”。
  • 在命令提示符窗口中运行位于“C:\Program Files\Microsoft SQL Server\100\DTS\Binn\”(或您的情况可能是“\110\”而不是“\100\”)的“DTSWizard.exe”。

祝好!;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接