매우 상세한! ! SQL 서버 데이터베이스 동기화는 공용 네트워크 IP 자주 묻는 질문없이 네트워크 세그먼트를 게시 구독

문제 설명

1 호스트 : 끝을 분리

알리 클라우드 서버 - 공용 네트워크의 IP

 

이 호스트 : 끝을 가입

노트북 - 아니 공용 네트워크 IP

 

데이터의 작은 금액은 주로 친숙한 운영 프로세스를 게시 - 구독.

만을 발행 - 구독 기능은 로컬 데이터 동기화를 통해 클라우드 서버, SQL 서버에 데이터를 수정하는 로컬 백업 1과 호스트 2 호스트 후.

어떤 도입에 따라 단계적으로, 단계적으로,이 아래에 볼 수있다

https://blog.csdn.net/u012861467/article/details/76411216

 

-------------------------------------------------- --------------------------------------------

질문 1

알리 클라우드 SQL 서버는 SQL 서버 네이티브 클라이언트 원격 로그인을 사용할 수 없습니다 구성.

다음을 확인

알리 클라우드 콘솔 방화벽 1. 열려있는 포트 1433 알리 구름 (기본 SQL 서버 액세스 포트)

이것은 매우 중요합니다, 튜토리얼의 많은 언급하지 않습니다! ! !

 

 

2. 풋 SQL 관리자는 SQL 서버 에이전트 SQL Server 서비스에서 두 호스트가 열립니다 (원래 안 함)

 

 

 

3. 원격 서버에 SQL 서버 사용자 이름 및 암호 로그인 켜고 프록시 계정과 암호를 설정하려면

 

지금부터, 노트북 SQL 서버의 IP 주소해야하고, 프록시 계정과 암호는 클라우드에 로그인 할 수있는 서버를 설정합니다.

 

-------------------------------------------------- ------------------------------------

질문 2

게시 및 프로세스를 구독

나는 클라우드 SQL 서버 클라이언트에서 첫 번째 것

복사 --- 자료 --- 새 게시

 

해제 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这个这么常见的功能为什么如此多的坑。。。可能还是我太菜了。但起码这个问题是解决了,我又成长了一点点。

추천

출처www.cnblogs.com/take-it-easy/p/11688946.html