如何将表从SQL Server 2000数据库导出为.sql文件作为一堆INSERT INTO语句?
表中的一个字段是Text数据类型并保存HTML,因此手动执行此操作会非常耗时。
我可以访问SQL Server Management Studio 2008来访问SQL Server 2000数据库。
答案 0 :(得分:19)
更新,因为当我在寻找答案时,问答在搜索结果的顶部。
在MSSQL 2008 R2中:
右键单击数据库:任务 - >生成脚本......
将弹出Generate and Publish Scripts对话框。介绍页面毫无价值。点击“下一步”
选择“选择特定数据库对象”,然后选择要为其插入的表。单击“下一步”,对话框将前进到“设置脚本选项”。
点击高级,您应该看到:
向下滚动选项列表,直到找到“脚本数据类型”。单击该行,然后从下拉列表中选择“仅数据”。单击“确定”。选择保存选项,然后单击“下一步”几次。
注意 - 每100次插入后输出还包括以下内容。
GO
print 'Processed 200 total records'
答案 1 :(得分:16)
查看SSMS Tool Pack - 它是SQL Server Management Studio的一个很棒的免费附加组件,可以执行很多操作 - 除此之外它还可以从给定的表生成INSERT语句
答案 2 :(得分:9)
我一直在使用此存储过程:sp_generate_inserts:2000版本和2005 (and up)版本。
你这样使用它:
sp_generate_inserts 'thetablename'
或者如果你想过滤:
sp_generate_inserts 'thetablename', @from='from ... where ... order by ...'
sp将返回insert语句作为查询结果。不要忘记修改设置:增加每列中显示的最大字符数(工具 - 选项 - 查询结果)。
答案 3 :(得分:2)
如果您可以使用其他数据库管理应用程序,最快捷的方法是使用像 SqlDbx 这样的工具,它具有内置的“导出为插入(SQL)”功能(只需执行像SELECT * FROM Table
之类的查询,然后使用结果网格中的上下文菜单。
如果您需要坚持使用SQL Management Studio,那么您可以使用类似这样的存储过程:
http://vyaskn.tripod.com/code/generate_inserts.txt
它使用SQL INSERT语句为目标表的每一行生成一组结果。然后,您可以将结果导出到文件,或者只是将它们复制到剪贴板并粘贴到查询窗口中(即使有几兆字节的数据也能正常工作)。