- 论坛徽章:
- 0
|
在修复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 编辑 ] |
|