sqlserver主从备份踩坑

主从备份遇到实例名和网络名不匹配,端口进行自定义修改后想进行主从复制时带来的问题。

主从备份遇到实例名和网络名不匹配,端口进行自定义修改后想进行主从复制时带来的问题。

实例名和网络名不匹配:

想到了查询网络名时优先级最高的是hosts,更改双方hosts以ip 网络名的格式进行添加,使得双方可以通过网络名互相访问。
接下来修改实例名和网络名进行对应:
SELECT @@servername as new_n;
select serverproperty('servername') as old_o;
EXEC sp_dropserver  @server  = new_n;
EXEC sp_addserver  @server  =  old_o,  @local  =  'LOCAL';
EXEC sp_helpserver;//查看是否修改了
SELECT @@servername;//若未变化可能是缓存问题,重启后生效

端口名不匹配时的思考:

网上百度到的到这一步就是不见了,毕竟我也没接触过sqlserver,本来打算写脚本利用UNC共享路径和计划任务来实现定时备份这种臃肿的办法了,但我突然想到认证的本质就是TCP发包,发包可以通过wireshark抓包后进行修改实现认证,1433本质是对外连接时才需要的监听端口,那么我在连接机里将services的1433改为我们需要的端口是否可以满足操作?
为了确定sqlserver是否还进行查询后再连接我先百度了下,依旧没有答案,由于不是本人服务器不敢随意动手,所以在本机上抓包进行判断,发现修改了之后对于定位端口没有变化。
那么只能想该程序在运行时以何种方式确定端口,总不至于在二进制文件里写死,查着查着突然发现还有个叫sqlserver配置管理的程序。。。
打开一看发现在客户端协议里写好了默认连接端口,那么修改这里进行连接试试。