来源: sql server 2008 r2 双机热备操作流程_lance_kl的博客-CSDN博客
一、配置步骤:
1.两台服务器,主服务器,从服务器,两台服务器都安装SQL Server 2008R2并且安装相同表结构的数据库(需要实时同步的数据库)
2.主服务器数据库安装完毕,打开SQL Server 配置管理器,把SQL Server 代理服务打开(已打开请忽略)
3.登录主服务器数据库,从数据库左侧菜单栏找到->复制->本地发布,右击新建发布
4.默认主服务器当作分发服务器
5.快照文件夹最好新建一个目录(需要手动在D盘新建目录),默认目录会有权限问题(对于新手权限问题不好解决)
6.选择需要发布的数据库
7.发布类型选择事务发布(发布类型的区别可自行百度,此处不做叙述)
8.选择需要发布的表(需要同步到从服务器数据库表的数据)
9.筛选表行(意思是表中的哪些字段你不需要同步到从服务器)
10.快照代理,选择->立即创建快照并使快照保持可用状态,以初始化订阅
11.代理安全性,点击安全设置,按照红色框中设置即可
12.向导操作,选择->创建发布->下一步
13.完成该向导,填写一个发布名称,点击完成,到此步骤主服务器本地订阅发布已经完成
14.登录从服务器数据库,从数据库左侧菜单栏找到->复制->本地订阅->右击新建订阅->选择查找SQL Server 发布服务器,数据库服务器名称要是主服务器计算机名称,输入登录名和密码
15.选择刚才主服务器发布的订阅
16.选择运行分发代理的位置,勾选第一个,如果选择第二个也需要开启从服务器SQL Server代理服务
17.选择订阅服务器(从服务器),订阅数据库需要同步的数据库(主服务器和从服务器热备份的数据库结构需要一致)
18.分发代理安全性,推荐按红色框中设置,如下图:(注意这里的账号密码,为相应服务器的实际账户密码)
19.同步计划选择连续运行
20.初始化订阅
21.向导操作->创建订阅->下一步->完成
22.刷新从服务器左侧菜单栏下的本地订阅,会出现刚刚创建好的订阅,为了验证设置是否成功,右击创建好的订阅->查看同步状态,如图显示同步正在进行则说明双机热备份设置成功
23.测试配置是否生效,在主服务器数据库通过updata语句修改某个表的字段值,然后查看从服务器数据库是否对应修改即可
二、SQL Server发布订阅异常处理:
1.强制删除发布命令:EXEC SP_REMOVEDBREPLICATION ‘发布数据库名称’;
2.SQL2008发布订阅报错“进程无法在WIN-SERVER 上执行 sp_replcmds”
执行以下SQL脚本
①.首先执行: ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [SQL登录用户名]
②.然后执行:
USE 数据库名
GO
sp_changedbowner ‘SQL登录用户名’
③.最后执行:
EXEC sp_repldone @xactid =NULL, @xact_segno =NULL, @numtrans = 0, @time =0, @reset =1
EXEC sp_replflush
④.如果还是不可以, 重启SQL Server Agent服务。