免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3218 | 回复: 1
打印 上一主题 下一主题

修改数据库generation id的步骤 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-19 15:01 |只看该作者 |倒序浏览
在修复RS复制故障的时候,如果重建了源站点数据库或从备份Load了数据库,需要将generation id加1。否则,有些有用的消息会被丢弃,无法到达目标站点。
这一操作可以在修复复制的时候做,也可以完成其他工作以后在进行。
但手册上写的步骤很粗略,很难一次成功。
以下是我整理的步骤(假设数据库服务为MYDS,复制服务为MYRS):

1. 停止复制代理
sp_stop_rep_agent RSSD
2. 使用独立模式启动复制系统。
RUN_MYRS_M&
3. 获取当前数据库gen_id
admin get_generation, MYDS, RSSD
记下来,假设为gen_id=0。
4. 进入恢复模式
set log recovery for MYDS.RSSD
go
allow connections
go
5. 修改数据库gen_id = gen_id + 1 = 1
use RSSD
go
dbcc settrunc(ltm, 'gen_id', 1)
go
6. 清空定位器
rs_zeroltm
7. 用正常模式重启RS
8. 重启复制代理
sp_start_rep_agent RSSD
9. 验证gen_id是否改过来了。
admin get_generation, MYDS, RSSD
此时,gen_id应等于1。
10. 观察RS日志,检测和忽略丢失。
参见修复队列文档。
11. 同步丢失的数据。

[ 本帖最后由 aliking 于 2007-7-19 15:22 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-07-19 15:49 |只看该作者

回复 #1 aliking 的帖子

补充一下,第9步如果在数据库服务器上用dbcc gettrunc命令验证gen_id,得到的结果是不准确的.
必须在复制服务器上用admin get_generation验证。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP