SQL-Server 2016 通过发布订阅实现主从同步(读写分离)详解

发布时间 2024-01-04 16:11:13作者: 梦想PHOTO

一、环境场景

系统:Windows Server 2016   

数据库:SQL Server 2016

 

二、目标用途

数据库主从同步,读写分离

 

 

三、操作流程

1、找到数据库服务器下的【复制】--【本地发布】,选择【新建发布】。如下图:

 

 

 

四、疑难问题

1、SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息

错误描述:

SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 'WIN-8IVSNAQS8T7\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (ConnIsLoginSysAdmin)

百度了一下,出现的原因,装数据库之后更改了计算机名字或者是登录用户名

解决办法:

SQL-安全性-登录名-找到原有的计算机用户组名称-然后改为现在的计算机用户组名称,重启SQL代理服务。执行成功。

 

2、数据库复制时distributor_admin未在该服务器上定义为远程登录

原因:安装SQL数据库后,修改了计算机名称导致的问题

 

查看当时计算机名称是否与数据库名称相同

SELECT @@SERVERNAME as InstalledName, SERVERPROPERTY('SERVERNAME') as NetworkName

修改MSSQL实例名为最新主机名:

select CAST(serverproperty('servername') as SYSNAME)

IF @@SERVERNAME <> SERVERPROPERTY('SERVERNAME')

BEGIN    

  EXEC sp_dropserver @server = @@SERVERNAME

  DECLARE @new_server_name SYSNAME

  SELECT @new_server_name = CAST(serverproperty('servername') as SYSNAME)

  EXEC sp_addserver @server = @new_server_name , @local = 'local'

END

  

操作后,要重启MSSQL服务

重启后,再次核验,看看结果是否一样。

 

 

 

五、参考链接

https://blog.csdn.net/Andrewniu/article/details/103732259

https://www.cnblogs.com/yaopengfei/p/13330482.html