更改脚本SQL数据的默认“已处理xx个总记录”

更改脚本SQL数据的默认“已处理xx个总记录”,sql,sql-server,sql-server-2008,sql-scripts,Sql,Sql Server,Sql Server 2008,Sql Scripts,在SQL Server 2008中,您可以右键单击数据库并选择“生成脚本…”。。。。然后,您可以选择一个特定的表,并仅在要编写脚本的数据类型下选择数据。执行此操作时,每100条记录会自动在脚本中插入一行,如下所示: 打印“共处理100条记录” 基本上,它将插入到100节中的记录分批处理,并在每批的末尾添加这些打印语句。当您插入几千条记录时,这是很好的,但当您导入一百万条记录时,它就变得无用了 是否有办法将此批量大小更改为另一个值,如1000?创建脚本时,我在选项列表中找不到此选项。当脚本运行时,

在SQL Server 2008中,您可以右键单击数据库并选择“生成脚本…”。。。。然后,您可以选择一个特定的表,并仅在要编写脚本的数据类型下选择数据。执行此操作时,每100条记录会自动在脚本中插入一行,如下所示:

打印“共处理100条记录”

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


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

查找和替换应该可以解决立即出现的问题,但生成插入脚本是将数百万条记录从一个数据库复制到另一个数据库的不寻常方式;你想这样做有什么特别的原因吗


如果您有更复杂的需求,则更典型的方法是bcp.exe或SSIS,因为它们专门用于处理大量数据。或者,如果两个数据库位于同一服务器上,则插入…选择。。。这将是最快的方式。说明了纯TSQL中的各种选项,并给出了性能建议;SSIS是一个更大的主题。

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


如果您有更复杂的需求,则更典型的方法是bcp.exe或SSIS,因为它们专门用于处理大量数据。或者,如果两个数据库位于同一服务器上,则插入…选择。。。这将是最快的方式。说明了纯TSQL中的各种选项,并给出了性能建议;SSIS是一个更大的主题。

好的方面。我应该更详细地描述导致这种情况的场景。我有一个客户,他的公司不会让任何人从外部访问其服务器。我已经在我的机器上开发了一个应用程序和数据库,它是SQL 2008。不幸的是,客户端的目标计算机是SQL 2005。经过大量研究,我发现在降级时不能只使用常规方法传输整个数据库。因此,我必须创建脚本来处理所有事情,包括数据填充?您是否考虑过安装SQL 2005,准备数据库,然后向他们发送备份文件进行恢复?无论如何,您至少应该在与客户机相同的数据库版本上进行开发。这是一个很好的观点,但它比这更复杂。我的项目的一部分是将他们现有的MS Access数据库迁移到SQL。在不深入讨论细节的情况下,Access数据库非常复杂,至少可以说,通过我编写的SSIS包将其导入SQL是一项挑战。因为我不想在2005年尝试重写此SSIS包,所以我一直在尝试将我的2008数据库转换为2005数据库。因此,您可以使用SSIS 2008包填充2005数据库吗?假设您的所有DDL都在源代码控制下,因此创建一个空的2005数据库应该相当简单—您不能使用任何特定于2008年的特性,因为目标是2005年。然后使用现有的SSIS包,但只需更改目标。当然,这可能仍然是不现实的;只有你对自己的情况了解得足够透彻,才能说出什么是可行的。很好的观点。我应该更详细地描述导致这种情况的场景。我有一个客户,他的公司不会让任何人从外部访问其服务器。我已经在我的机器上开发了一个应用程序和数据库,它是SQL 2008。不幸的是,客户端的目标计算机是SQL 2005。经过大量研究,我发现在降级时不能只使用常规方法传输整个数据库。因此,我必须创建脚本来处理所有事情,包括数据填充?您是否考虑过安装SQL 2005,准备数据库,然后向他们发送备份文件进行恢复?无论如何,您至少应该在与客户机相同的数据库版本上进行开发。这是一个很好的观点,但它比这更复杂。我的项目的一部分是将他们现有的MS Access数据库迁移到SQL。在不深入讨论细节的情况下,Access数据库非常复杂,至少可以说,通过我编写的SSIS包将其导入SQL是一项挑战。因为我不想在2005年重写这个SSIS包,所以我一直在尝试将我的2008年数据库转换为2005年的数据库。那么您可以使用SSIS 2008包来填充吗 2005年的数据库?假设您的所有DDL都在源代码控制下,因此创建一个空的2005数据库应该相当简单—您不能使用任何特定于2008年的特性,因为目标是2005年。然后使用现有的SSIS包,但只需更改目标。当然,这可能仍然是不现实的;只有你清楚自己的处境,才能说出什么是可行的。