主服务器
用于发布与分发
从服务器
订阅
分发服务器的概念,是指用于管理发布与订阅的交互,这里用发布服务器充当即可
主服务器操作:
按需选择,一般选择快照发布
如果不需要排除列则不做任何选择
定义执行时间
这里配置连接到发布服务器的账号,可以选用sa,也可以自行创建,注意新建账号赋予的权限,要保证可以操作数据库
从数据服务器
筛选出主服务器名称
选择发布计划
选择在哪里管理分发日志
选择第一个选项,在主服务器查看有关日志,这里注意如果是sqlserverstudio2016,在查看订阅属性的时候,会提示
无法将值“null”应用于属性 ServerInstance: 值不能为 Null ,这是工具的bug,升级工具到2018。
旋第二个则是在订阅服务器管理订阅
确定订阅服务器有关数据库
完成
注意事项:
如果使用新增sqlserver账号,需要编辑发布属性的发布访问列表
修改快照存放位置,然后将其文件夹设为共享文件夹,并修改该文件夹的权限组为everyone
(由于出现操作系统错误 5,进程无法读取文件),此外这个问题,还跟选择分发代理位置有可能的关系,建议配置由主服务器管理选项,其中域控账号为 机器名\windows登录账号
从服务器的服务器名称不能包含“-”
服务器改名后,记得查看当前sqlserver线程的运行账户是否与服务器名对应,否则会抱错提示验证为空
修改sqlserver进程名与服务器名称一致,需要重启sqlserver
use master go select @@servernameselect serverproperty('servername')IF serverproperty('servername')<>@@servername BEGINDECLARE @server SYSNAMESET @server=@@servername EXEC sp_dropserver @server=@server SET @server=cast(serverproperty('servername') AS SYSNAME) EXEC sp_addserver @server=@server,@local='LOCAL' ENDELSEPRINT '实例名与主机名一致,无需修改'
部分操作C盘内容记得以管理员打开sqlserver studio
这是基于同域下的同步复制,所以对两者服务器的基本通信要保持,其中防火墙的关闭、1433端口的telnet
发布订阅是从服务器去主服务器的快照存放位置去拉取文件,并还原到从服务器数据库,所以快照文件夹的权限要注意
一半的问题几乎都来自权限问题