0

我有一个长时间运行的 redgate 脚本,它将一堆模式类型更改应用于数据库。运行需要 3 个小时。此脚本将在具有镜像和事务日志传送的生产数据库上运行。

我的具体问题是事务日志传送将如何受到一个巨大的 redgate 生成脚本的影响?其配置: 每 15 分钟备份一次 备份到本地驱动器 运送到 dr 服务器 驱动器每 30 分钟应用一次 保持 60 分钟

它是否仍会逐步交付更改,或者如果有一个 redgate 交易,它在完成之前不会被交付?

担心的是 1. 长时间运行的脚本不会受到此事务日志传送的影响(考虑到它会跨越多个备份) 2. 更改是增量传送还是作为一个大转储传送 - 正如我认为 redgate 通常使用的那样事务所以如果它失败了它会回滚一切吗?我知道日志文件总共增加了大约 80 gig,所以我试图确保有足够的空间让事务日志传送来存储它需要存储的任何内容。

谢谢!

4

2 回答 2

0

好的,所以我完成了升级(耶!)并发现它并没有将整个东西作为一大块运送。从他们的 dba 我得到了这个信息:

它不会把它当作一大块......随着你的前进,你只会有更大的 TRN 文件。您越频繁地进行 TRN 备份并发送和应用它们,您可以保留的越小。但是,备份显然需要 cpu + i/o... 所以你不想连续运行它。

所以虽然我认为日志文件会增长到 90g .. 然后尝试通过它发送某种 90g 文件并没有。它只是逐渐填满了事务日志传送文件夹,它所拥有的 60g 足以升级 :)

于 2010-09-16T07:03:55.333 回答
0

您应该能够通过检查 RedGate 脚本来判断这是否都是一笔大交易。只需对“开始事务”的 sql 文件进行 grep 即可了解。

如果是,那么在事务完成并提交之前,您的事务日志传送不会传送它,因此它跨越同步并不重要。我很确定是这种情况 - 我基于这篇文章http://msdn.microsoft.com/en-us/library/ms151706.aspx说:

分发数据库 [是] 存储转发队列,从中将更改发送到订阅者..

“只有提交的事务被发送到分发数据库。”

于 2010-09-08T06:17:25.777 回答