sqlserver 2000 数据库同步 推模式

这两天需要用sql同步,在网上找了些资料,我自己的做法如下,记录下来

 

1.在分发的数据库上建一个超级管理员帐员

 

2.在服务里把sqlagent的启动设成这个超管用户来启动

 

2.1在硬盘上建一个目录,超管有这个目录的写权限,由于是推模式不用建共享,拉模式得建共享

 

3.把sql注册改一下,localhost,.的这样不行,要建成机器名的,把从库的数据库在主库这注册一下

 

4.把被删除的危险存府过程恢复一下

 

恢复危险存储过程

sp_addextendedproc 'xp_regread',@dllname ='xpstar.dll'
go
sp_addextendedproc 'xp_regwrite',@dllname ='xpstar.dll'
go
sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstar.dll'
go
sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstar.dll'
go
sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstar.dll'
go             
sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll' 

 

5.打开数据库选择工具-复制-配置

 

6.在指定的数据库上,选工具-复制-创建和发布,选择相关的表,(快照适合数据量较小,不总变的情况,事务适合变动较我,合并适合两库更新同时更新)我选事务模式

 

7.在复制监视器上新生成的内容上右键-建立强制定阅

如果是快照复制会了来两个项目 分别设置自动时间设置成几分钟一次,

如果是事务复制会出来三个项目 把快照设置成几分钟一次,日志和那个默认代理自动启动

 

对了在设置复制后在没有禁用发布的情况下,绝对不能用其他备分还原主数据库,会出错误,我最后重装的sql解决的

 

对发布后的表进行修改可选择发布的荐-选择项目-未发布的项目勾上后即可

 

 

最后把危险进程删除

 

use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask

 

 

 

发布了49 篇原创文章 · 获赞 1 · 访问量 6万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章