十年河东,十年河西,莫欺少年穷
学无止境,精益求精
先决条件
主服务器也称之为分发服务器,从服务器称之为订阅服务器
下文皆按照主/从服务器称呼
主服务器和订阅服务器需在同一个内网网络内
主服务器和订阅服务器安装相同版本sqlserver,本例以sqlserver2014为范例进行
主服务器:172.27.40.27 | 主服务器 sqlserver2014 主机名:IZQY9C2TQSKGS9Z | 要求:同一个内网 |
从服务器:172.27.40.29 | 从服务器 sqlserver2014 主机名:iZ4evvi63blumaZ | 要求:同一个内网 |
数据库相关
数据库主机名
1)SQL Server数据库实例主机名需与本地服务器名称一致:
--本地服务器名称
SELECT @@SERVERNAME
--数据库实例主机名
SELECT SERVERPROPERTY('ServerName')
2)若出现SQL Server数据库实例主机名与本地服务器名称不一致的情况,可通过以下语句来更改:
IF (SERVERPROPERTY('SERVERNAME')<>@@SERVERNAME)
BEGIN
DECLARE @SERVER SYSNAME
SET @SERVER=@@SERVERNAME
EXEC SP_DROPSERVER @SERVER=@SERVER
SET @SERVER=CAST(SERVERPROPERTY('SERVERNAME') AS SYSNAME)
EXEC SP_ADDSERVER @SERVER=@SERVER,@LOCAL='LOCAL'
END
更改完成后请重启SQL Server服务:
建立复制账户,测试连通性
所有发布订阅机器都建立该登录名和密码;给予了系统管理员权限;
USE [master]
GO
CREATE LOGIN [repl] WITH PASSWORD=N'a123456!'
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [repl]
GO
启动sqlserver代理账户,登录身份设置为LocalSytem
配置hosts文件
文件路径:C:\Windows\System32\drivers\etc
主服务器配置如下:
从服务器配置如下:
主服务器配置共享目录
在D盘或其他盘配置共享目录,需要说明的是最好不要配置到系统C盘,防止C盘无限扩大,影响系统运行
在D盘新建文件夹DBShare,在DBShare文件夹中新建子文件夹DbPublish,并设置为共享文件夹,具体步骤如下:
设置安全性,
给Everyone 完全控制权限,如果默认组或用户名中没有Everyone,则通过编辑->添加->高级->查找,找到Everyone,并赋予权限
设置为共享目录,
设置为共享目录,供从服务器访问
属性中,共享,选择Everyone
主从服务器均需要在防火墙配置出入站1433端口
以上先决条件准备好后,则开启配置
主服务器配置分发
点击:复制,配置分发
这里面需要注意,如果之前配置过分发,当你点击复制时,不会再弹出配置分发对话框,你需要删除之前配置的分发,然后重新点击复制,重新配置即可
下一步
再下一步
配置快照文件夹,也就值之前共享的DBShare文件夹,如下
快照文件夹的路径需修改为箭头所指的网络路径,如下:
再下一步
配置分发数据文件及日志文件夹路径
这里文件夹路径请填写共享目录DBShare的子目录DBPublish
再下一步
再下一步
点击完成
待成功后退出。
本地发布->新建发布
选择要发布的数据库
点击下一步
选择事务发布
点击下一步
选择所有表/存储过程/视图等
点击下一步
不做筛选
点击下一步
选中箭头所指处
点击下一步
点击安全设置
选择使用以下sqlserber登录名,也就是先决条件中创建的账户
确定后,点击下一步
创建发布,点击下一步
起个名字,点击完成
点击完成后
】
主服务器配置基本完成。下面开始进行从服务器配置
从服务器订阅
新建订阅,弹出框后点击下一步
点击查账sqlserver发布服务器
选择发布
点击下一步
点击下一步
选择订阅数据库,
点击下一步
分发代理安全性设置
确定后,下一步,选择连续运行
点击下一步
选择立即,
点击下一步
点击下一步
成功后退出,查看数据库ChargeDB中是否将主服务器表数据同步成功
同步成功。
需要注意的是:从库不能新增修改删除,只能用于查询,切记
以上over
核验与监视
复制监视器
我们这里可以看发布、订阅、代理等信息
(1)发布服务器查看
在这里,可以双击订阅监视列表数据,然后双击进去可以查看该行订阅的同步情况;
注意,这里的代理也是发布服务器的代理哦;
(2)具体发布对应的信息查看
我们可以选中具体发布名称,然后就可以查看到和它相关的所有订阅,代理情况,发生的警告等等