如何将表的数据导出到插入语句中?
-
28-09-2019 - |
题
如何将表从SQL Server 2000数据库导出到.SQL文件作为一堆插入语句?
表中的一个字段是文本数据类型,并保留HTML,因此手工做到这一点将很耗时。
我可以访问SQL Server Management Studio 2008来访问SQL Server 2000数据库。
解决方案
查看 SSMS工具包 - 很棒, 自由 SQL Server Management Studio的附加组件可做很多事情 - 除其他功能外,它可以从给定的表中生成插入语句。
其他提示
更新以来,当我在寻找答案时,此问答是搜索结果的顶部。
在MSSQL 2008 R2中:
右键单击数据库:任务 - >生成脚本...
生成和发布脚本对话框将弹出。介绍页面毫无价值。点击下一步”
选择“选择特定数据库对象”,然后选择要获得的表格。单击下一步,对话框将推进“设置脚本选项”。
单击高级,您应该查看:
向下滚动选项列表,直到找到“到脚本的数据类型”为止。单击该行,然后从下拉中选择“仅数据”。单击“确定”。选择保存选项,然后单击几次“ Next”。
注意 - 每100插入后,输出还包括以下内容。
GO
print 'Processed 200 total records'
我很长一段时间以来一直使用此存储过程: sp_generate_inserts: : 这 2000 版本和 2005年(及以上) 版本。
您这样使用它:
sp_generate_inserts 'thetablename'
或者如果要过滤:
sp_generate_inserts 'thetablename', @from='from ... where ... order by ...'
SP将返回插入语句作为查询结果。不要忘记修改设置:增加每列中显示的最大字符数(工具 - 选项 - 查询结果)。
如果您可以使用其他数据库管理应用程序,则最快的方法是使用类似的工具 SQLDBX 它具有内置的“导出为insers(sql)”函数(只需执行像这样的查询 SELECT * FROM Table
然后使用结果网格中的上下文菜单)。
如果您需要坚持使用SQL Management Studio,则可以使用这样的存储过程:
http://vyaskn.tripod.com/code/generate_inserts.txt
它为目标表的每一行的SQL插入语句生成了一组结果。然后,您可以将结果导出到文件中,或者只需将它们复制到剪贴板并在查询窗口中粘贴(即使有几种兆字节的数据也可以正常运行)。