在SQL Server中将庞大的表数据从一个数据库复制到另一个数据库
我有两个数据库说DB_A和DB_B。在DB_A数据库中,具有巨大数据的表(少数表有2至1000万个数据)。我想将所有表数据从DB_A移动到DB_B数据库。请帮助我编写存储过程,以便将数据从一个数据库高效(快速)转移到另一个数据库。在SQL Server中将庞大的表数据从一个数据库复制到另一个数据库
问题是如何处理您的事务日志。它必须写入两者,但你应该分块处理。
所以......尝试是这样的:
While exists (select * from db1.dbo.tablename)
Begin
Delete top 100 from db1.dbo.tablename
Output deleted.* into dbo.tablename;
Checkpoint;
End
(并且拥有简单恢复模型中的数据库) – 2010-03-12 10:25:57
当然你可以远远高于100。选择你喜欢的东西(关于日志大小) – 2010-03-12 10:27:18
无需推倒重来,你有没有考虑为移动数据库的数据使用SQL Server Replication?
例如,使用事务复制可以定义希望复制/复制的数据库表的发布。
然后,您可以使用快照在临时基础上同步数据,或者如果您希望以“接近实时”的方式保持数据最新,那么您可以使用连续复制。
Whocj版本的SQL Server? – MartW 2010-03-12 10:29:13
复制为主题标题或移动? – 2010-03-12 10:30:43
您在移动数据时需要将数据库在线吗? – pedromarce 2010-03-12 10:54:28