当前位置:网站首页>sql server 同步数据库 跨网段无公网ip几个常见小问题问题
sql server 同步数据库 跨网段无公网ip几个常见小问题问题
2022-07-24 05:23:00 【林非凡1998】
问题描述
主机1:发布端
阿里云服务器--有公网ip
主机2:订阅端
笔记本--无公网ip
数据量很小,主要是熟悉发布订阅的操作流程。
主机2仅仅作为主机1的本地备份,要求修改云服务器上数据后,能通过sql server的发布订阅功能将本地数据同步。
底下没有一步一步介绍,一步一步的,可以看下面这篇
问题1
阿里云的sql server配置好后,无法使用本地sql server客户端远程登录。
检查以下几点
1.要在阿里云的控制台中的防火墙,打开阿里云的1433端口(默认的sql server访问端口)
这点很重要,好多教程里没有提到!!!

2.要把两台主机的sql manager中的sql server服务中的sql server代理打开(原本是禁用状态)

3.远端服务器要开启sql server用户名密码登录方式,并且设置好代理账号和密码

到这一步,应该可以在笔记本的sql server通过ip地址,和刚刚设置的代理账户和密码登录进云服务器了。
--------------------------------------------------------------------------------------
问题2
发布和订阅流程
要首先在云端sql server客户端的
复制---发布---新建发布
1.选择哪种发布方式

这点可以自己查询四种发布的区别
要注意:事务发布时,被发布的表要有主键
2.如何连接发布端

网上一般推荐是在云端和本地端都新建一个用户名,密码一样的windows账户,然后这里选择在windows账户下运行。
我这里使用sql server登录名
这里注意---登录名是sql server的登录名(就是一般是sa的那个)
-------------------------
以上是发布端
-------------------------
订阅端
1.使用别名

在这一步选择发布服务器时,要使用实际的服务器名称(使用windows方式登录时的名称),不能使用ip地址。
这里要在订阅服务器中添加发布服务器的别名,具体操作看下面
https://blog.csdn.net/u010457730/article/details/97276313
2.推送订阅还是请求订阅

这里我有个不懂的问题,之后会讲到。
3.连接到分发服务器

这里注意,要填写分发服务器的sql server登录名。
是登录名,sa那个
登录名不是服务器名,这点切记。
到这一步时,查看一下订阅服务器的同步状态

看看是否打钩了----这代表前面的设置正确,订阅服务器能访问到发布端。
本人一开始因为设置时填写错了用户名,在查看同步状态这里还是报错的。
--------------------------------------------------------------------------------
接下来,可以看看订阅服务器的数据是不是被同步了,如未同步,看看订阅端的作业历史记录


有可能还是报错
但是这个报错信息是什么玩意嘛???
“复制代理遇到问题。有关详细信息,请参阅上一个作业步骤历史记录消息或复制监视器”
原来要在发布端找具体错误信息。。。

启动发布端的复制监视器
在左侧选好具体的发布后,双击右侧中所有订阅中的错误的订阅,查看具体报错

真相大白--
由于出现操作系统错误 3,进程无法读取文件D:\XXXX\X.pre
原因原来是--这个路径是发布端存放快照文件的位置,但是由于不是网络文件夹,不能被访问。
这里提供一种简单的解决办法
参照这位的做法
https://www.cnblogs.com/mrray/archive/2011/03/17/1987123.html
直接把发布端的快照文件夹--名称为repldata的拷贝到订阅端的某个文件位置
再在订阅端修改快照位置
复制--本地订阅---具体的订阅---右键---属性
把快照文件夹位置修改为本地的那个位置。
很神奇的是,只需要修改一次就好。

到这一步,我的问题就解决了,以下是几点问题和思考
1.坑很多,但多查询相关资料,总是能够解决的。这个信心是一次次解决问题中锻炼出来的。
2.自身理论基础欠缺时,一些配置性操作就容易出问题。比如说不了解发布订阅的具体机制,就很难想到出现快照文件夹无法访问这个问题。
3.我的情景比较特殊,一台有公网ip,一台没有。我在网上看到的情况,一般要么是局域网,要么两台主机都是有公网ip的(这意味着发布端,订阅端都能用唯一的ip地址访问对方)。所以我一直怀疑我这种网络结构从原理上就不能使用发布订阅这种方式(因为发布端无法“找到”订阅端)。这也是我在配置中选择了从订阅端运行代理,因为订阅端是肯定能“找到”有公网ip的发布端的。这个问题还要细研究。
4.这四种发布-订阅的方式有什么区别?快照文件夹是什么原理?这是两个需要搞清楚的问题。
5.sql server这个这么常见的功能为什么如此多的坑。。。可能还是我太菜了。但起码这个问题是解决了,我又成长了一点点。
边栏推荐
- Sed command
- Data set and pre training model
- Promise (try to implement a promise by yourself) more detailed comments and other interfaces are not completed yet. Let's continue next time.
- Batch implementation of key based authentication using sshpass
- 实验:磁盘配额操作
- 测试经理/测试组长/测试主管面试题
- 日志收集分析平台
- [214] what is an automation framework
- 【217】#!/ The meaning of usr/bin/env
- 使用自定义zabbix包(4.0.5版本)安装agent和proxy
猜你喜欢

Restful API introduction

我有 7种 实现web实时消息推送的方案,7种!

Ia class summary (2)

NFS共享服务及实验

Why can't index be the key of V-for?

Wasm vs EVM, Boca's choice predicts the future of the public chain

Login page + summary

A batch of interview questions and answers_ 20180403 latest arrangement

Remember to get the password of college student account once, from scratch
![[218] what are the advantages and disadvantages of CS architecture and BS architecture and data on the server and client?](/img/d8/a367c26b51d9dbaf53bf4fe2a13917.png)
[218] what are the advantages and disadvantages of CS architecture and BS architecture and data on the server and client?
随机推荐
Tensorflow GPU installation -- 056
Rsync (I): basic commands and usage
Write cookies, sessionstorage, localstorage and session at will
联合国农产品数据分析
General paging 2.0
测试经理/测试组长/测试主管面试题
LVM and disk quota
rsync(一):基本命令和用法
今天聊赖数据库MySQL底层架构设计,你了解多少?
RESTful API介绍
Jenkins automated unattended operation (up / down)
Mysql database - SQL summary (remember to pay attention to me! Come on in China!)
Use of MySQL
MeterSphere一站式开源持续测试平台
SSH Remote Access and control
Common commands and package management of go language
[226] instructions for Wireshark parameters
自定义zabbix agent rpm包
[award issuance] the results of the first essay solicitation activity in oneos zone were announced
【217】#!/ The meaning of usr/bin/env