在两个数据库之间迁移数据时出现致命错误

时间:2011-08-18 11:17:16

标签: sql-server-2008 asp-classic data-migration

在我的公司,我们将为每个客户提供单独的数据库,并为每个客户提供一个大型数据库。我们经历了在ASP中编写迁移脚本以将数据迁移到新数据库的痛苦任务。此迁移脚本已经运行,直到此特定客户要迁移大量数据。有4个特定的表,它们之间有大约650万行要迁移。对于这个特定的客户,asp脚本可以运行一个多小时,然后在某个地方我们得到以下错误:

Microsoft OLE DB Provider for SQL Server error '80004005'

Warning: Fatal error 7105 occurred at Aug 17 2011 4:10PM. Note the error and time, and contact your system administrator.

所以我想知道几件事。上述错误是什么意思?另外我想知道是否有更好的方法来迁移这么大量的数据?一个存储过程(虽然我不想在编写如此大的ASP脚本后必须编写如此大的过程)会以相同的结果结束吗?为了更好地解释这种情况,它不会是从一个数据库直接转储到另一个数据库。当来自旧数据库的记录被移动时,它们被分配了新的ID,并且在其他任何地方将这些ID作为外键引用时,必须相应地使用新的ID更新它们。

如果我遗漏了帮助回答我的问题所需的任何完整信息,请告诉我,我会更新我的问题。

感谢。

1 个答案:

答案 0 :(得分:0)

好的,好好回答我的一部分问题......我必须对迁移脚本失败的表运行DBCC CHECKTABLE。通过该检查发现错误后,我再次运行它,但这次使用参数来修复错误DBCC CHECKTABLE(table_name,repair_allow_data_loss)。在运行之后,表被修复并且迁移脚本运行得很好。