2

在 SQL Server 2008 中,您可以右键单击数据库并选择“生成脚本...”。然后,您可以选择一个特定的表并在“脚本的数据类型”下选择“仅数据”。当你这样做时,它会自动在脚本中每 100 条记录插入一行:

print '已处理 100 条记录'

基本上,它“批处理”插入到 100 个部分中的记录,并在每个批处理的末尾添加这些 PRINT 语句。虽然当您插入几千条记录时这很好,但当您导入一百万条记录时它就变得无用了。

有没有办法将此“批量”大小更改为另一个值,例如“1000”?创建脚本时,我在选项列表中找不到它。运行脚本时更改此值会影响性能还是有其他问题?

4

1 回答 1

0

查找和替换应该可以解决您的直接问题,但是生成 INSERT 脚本是一种将数百万条记录从一个数据库复制到另一个数据库的不寻常方法;你想这样做有什么具体原因吗?

更典型的方法是 bcp.exe 或 SSIS(如果您有更复杂的需求),因为它们专门用于处理大量数据。或者如果两个数据库都在同一台服务器上,那么 INSERT...SELECT... 将是最快的方式。该文档解释了纯 TSQL 中的各种选项并提供了性能建议;SSIS 是一个更大的话题。

于 2011-07-15T08:09:14.597 回答