您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 西宁分类信息网,免费分类信息发布

[翻译]当分发数据库增长到25G时如何解决

2024/3/3 16:59:10发布24次查看
有时候,分发数据库(distribution database) 会增长得非常大,那么如何解决呢,请看 chris skorlinski, microsoft sql server escalation services 的解决方案。 原文地址:how to resolve when distribution database is growing huge (+25gig), 本人翻译
有时候,分发数据库(distribution database)会增长得非常大,那么如何解决呢,请看chris skorlinski,  microsoft sql server escalation services 的解决方案。
原文地址:how to resolve when distribution database is growing huge (+25gig), 本人翻译水平有限,如果有什么地方翻译不当或不对的地方,请不吝指教!
是的,我当然知道大数据库是相对的,但总体来说,如果你看到分发数据库越来越大增长到25g,这意味着清理进程很难删除复制事务,后面我将介绍如何以及为什么清理过程会这样。但是现在我想介绍一种我们经常用的技巧从分发数据清除数据行。这个解决方案包括修改sql复制存储过程,以及增加每笔事务删除的行数,如果你对代码修改感到不舒服,直接跳到step 7吧。
第一篇发布出来的是“保守”的方法,接下来,我会发表一些更“激进”的解决方案。
1) 保存清理删除msrepl_commands对象的srepl_commands存储过程的原始脚本
              sp_helptext  sp_msdelete_publisherdb_trans
2) 将create改为alter
              alter procedure sp_msdelete_publisherdb_trans
3)改变三处delete操作,从2000改为100000行
              delete top(2000) msrepl_commands . . .
4) 保存msrepl_transaction 清理存储过程sp_msdelete_dodelete的原始代码
             sp_helptext sp_msdelete_dodelete
5)将create关键字改为alter
             alter procedure sp_msdelete_dodelete
6)改变两处删除msrepl_transactions记录的地方,将5000改为100000行。
           delete top(5000) msrepl_transactions . . .
7) determine oldest day containing transactions 决定保留事物多少天
code snippet
8)通过ssms或tsql作业执行清理以前的事务(24小时*5天=120),然后继续执行减少@max_distretention的执行
code snippet
hope you found this helpful,
希望这个对你有用。
chris skorlinski,  microsoft sql server escalation services

西宁分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录