原文:超详细SQL SERVER 2016跨网段和局域网发布订阅配置图解和常见问题

转载标明出处:http://blog.csdn.net/u012861467

前方高能,要有点耐心,图片较多,注意在wifi环境下看,刷爆流量不赔

最近学习了一下配置SqlServer数据库的同步订阅功能,过程中遇到了一些常见的问题,下面把详细的配置过程和问题作一个汇总,希望能帮到有需要的朋友。

这次实验分别在局域网和跨网段进行,先局域网中配置,再跨网段配置,按需查看。

下面文章的内容将分为两个部分

目录

一、通过非命令行方式配置同步订阅

(1)实验环境说明

(2)实验前准备

(3)订阅设置

(4)测试同步订阅

二、常见问题汇总

三、总结

正文部分

一、通过非命令行方式配置同步订阅

(1)实验环境说明

实验环境,两台在同一局域网(跨网段的在后面再详细说明)的PC机,这里PC1是作为分发服务器,PC2作为订阅服务器

PC1

系统:win10

数据库版本:SQL Server 2016

IP:192.168.0.62

Sqlserver端口:1433

计算机名:DESKTOP-Aaron1

工作组:WORKGROUP

用户名:SqlServer

 

PC2

系统:win10

数据库版本:SQL Server 2016

IP:192.168.0.152

Sqlserver端口:1433

计算机名:DESKTOP-Aaron2

工作组:WORKGROUP

用户名:SqlServer

 

(2)实验前准备

检查几个设置,这是实验成功的关键,PC1和PC2都要进行相同的配置。

a.开共享

在任务栏的计算机图标右键->打开网络和共享中心->更改高级共享设置

在高级共享里面开启共享

b.防火墙开1433 端口

打开控制面板,选择系统与安全

打开防火墙设置中的高级设置

 


新建一个入站规则

点击新建规则->端口

端口->填写开放的端口号

填写开放的端口号->选择允许连接

下面的全部默认就可以

c.配置管理器设置TCP/IP启用

打开SQL Server 2016 配置管理器,网络配置->协议->TCP/IP开启

选中TCP/IP右键“属性”,在属性中把对应的ip 192.168.0.152的Enabled设置为“是”,端口号为默认的1433

d.Sql Server Browser 服务开启

如果在SSMS工具中找不到局域网内的其他数据库服务器,可以开启这个功能


e.两台机有相同的账户(用户名和密码要一致)

在两台机中我都新建了一个相同的帐户名和密码的账户


f.数据库添加windows账户访问

打开SSMS添加上面新建的windows账户SqlServer

 


g.数据库开启允许远程连接

在SSMS中开启数据库允许远程连接


h.测试网络是否连接成功

这是最关键的一步,也是下面订阅同步操作的前提,打开cmd命令窗口(windows+R 输入cmd回车)。

先使用ping命令测试网络连接是否有问题(PC1和PC2都要ping测试是否互通)

就算能ping通,只能说明局域网内存在这台机,也不代表能实现同步,还要测试端口是否可用。

使用telnet命令测试端口是否可用 telnet 192.168.0.62 1433

出现这个窗口表示可用

(3)订阅设置

已经在PC1新建了一个新的数据库Test1,Test1里面有一张表Table_1, Table_1插入了几条测试数据,把数据库Test1备份复制到PC2机器上还原。

配置PC1作为分发服务器

打开数据库的 复制->本地发布,右键新建发布

下面的步骤按照截图来,这里的发布数据库选择的是测试用的Test1,我们的实验就是要把PC1的Test1数据库同步到PC2的数据库Test1。

选择要发布的表,后期还可以添加新表。

这里为了方便测试数据,点击了“更改”按钮,设置同步的频率为10秒。

下一步。选择“在以下windows账户下运行”,填写PC1机windows账户(这里要填域\账户),连接发布服务器使用的是sa账户。(这里选择“在sqlserver代理账户下运行”经过测试也是可以的)

配置PC2作为订阅服务器

设置订阅可以在分发服务器上也可以在订阅服务器上,结果是一样的,这里我们在分发服务器上设置

右键本地订阅,新建订阅

选择PC1机发布服务器的发布任务

下一步,有两个选项,这次实验是在分发服务器运行推送订阅,选择第一项

下一步,点击“添加订阅服务器”,服务器名称选择的是PC2机的名称,使用windows身份验证,这里能连接上的原因是我们两台机都有相同的用户名和密码,也是上面说明中要配置相同windows账户的原因(这里也可以使用数据库的账户登录)

要订阅的是PC2机上的Test1数据库

下一步,设置订阅属性

选择“在以下windows账户下运行”,填写PC1机windows账户,因为我们在发布服务器上进行分发。

后面的设置默认就行


(4)测试同步订阅

当前PC1的Test1数据库表内容为

我们插入几条数据

查看PC2机的数据库Test1的表数据有没有变化

详细的内容还可以查看同步状态信息,选中订阅服务器右键,查看同步状态。

点击“监视”

还有代理状态

双击右表的状态条可以查看同步的各种参数

到这里同步订阅功能测试完成。

 

二、常见问题汇总

(1)搜索不到局域网内的其它SqlServer数据库

 

首先检查一下网络是否有问题,是否开启了网络发现,具体看上面的实验前准备。

(2)订阅的时候提示无法访问文件之类的问题

这个是访问文件的权限问题,在windows里对不能访问的文件添加相应的权限即可。这里遇到过的是无法访问快照文件。

(3)跨网段配置发布订阅

由于公司的两台服务器不在同一个网段,所以上面的配置是不成功的,差别在哪里呢?

情景再现:

PC1:发布服务器

IP:10.33.1.222

掩码:255.255.254.0

PC2:订阅服务器

IP:10.24.0.100

掩码:255.255.248.0

首先判断两台机器是否连通的,不然什么都是白搭。使用ping命令互相ping一下,如果没问题再使用telnet测试端口是否可用telnet 10.248.22.100 1433,确认没问题之后,发现连接没问题啊,然后直接使用IP作为数据库登陆名:

结果报了要使用数据库实例名称登录的错误,之前测试过使用名称也是登录不上的,问题的根源是因为不在同一个网段中,网络发现开启了也找不到对应这个名字的机器。那我们自己指定这个名称对应的IP地址就好啦。good~

在发布服务器的C:\Windows\System32\drivers\etc 目录下找到hosts 文件,配置订阅服务器的ip地址和数据库实例名称,这样发布服务器就可以找到不在同一个网段的订阅服务器实例了。

三、总结

      配置到这里结束了,过程遇到好多问题,网上的教程大多叙述不够详细,遇到很多坑,还是要多动手多找找问题出现的原因,一步步把他们解决,最终才能有所收获。

超详细SQL SERVER 2016跨网段和局域网发布订阅配置图解和常见问题的更多相关文章

  1. SQL Server 命名实例更改端口进行发布订阅

    原文:SQL Server 命名实例更改端口进行发布订阅 两台数据库服务器,都没有加入域,都安装多实例,端口也不一样了.现在使用命名实例进行复制,折腾了好久,才发现解决方法. 服务器A:myserve ...

  2. Sql server 2016 Always On 搭建Windows集群配置

    .安装WSFC群集组件 1)打开服务器管理器,选择“功能”,在右边窗口中点击“添加功能”. 2)在添加功能向导中,勾选“故障转移群集”,点击“下一步”. 3)在“确认安装选择”页面中,点击“安装”,进 ...

  3. SQL Server 2016的数据库范围内的配置

    SQL Server 2016真的让人眼前一亮.几天前微软就提供了RCO(候选发布版)版本的下载.我已经围观了一圈RCO版本,其中一个最拽的功能是数据库范围内的配置(Database Scoped C ...

  4. SQL Server系列之SQL Server 2016 中文企业版详细安装步骤(超多图)

    1. 下载地址 下载地址 :https://www.microsoft.com/en-us/server-cloud/products/sql-server-2016/ 官方技术文档:https:// ...

  5. 数据库SQL Server 2016“功能选择”详细说明及精简安装选择

    前言 在平时大家安装数据库的时候,一般默认功能选择都会选择全选.但是前两天公司同事问我:"那么多功能为什么都能用到嘛?"顿时,我思考了一下确实没有详细了解每个功能的详细作用,于是花 ...

  6. SQL Server 2016正式版安装(超多图)

    微软数据库SQL Server 2016正式版在2016年6月就发布,由于近期工作忙,一直拖到现在才有时间把安装过程写到博客上,分享给大家.本人一直习惯使用英文版,所以版本和截图都是英文版的.废话少说 ...

  7. SQL Server 2016 RC0 安装(超多图)

    微软最新版本的数据库SQL Server 2016在2016年3月9日推出了RC0版本.已经提供了包括简体中文等多种语言版本,不过联机丛书还是英文版的.对OS的要求是WIN8,WIN10, WIN20 ...

  8. SQL Server 2016中In-Memory OLTP继CTP3之后的新改进

    SQL Server 2016中In-Memory OLTP继CTP3之后的新改进 转译自:https://blogs.msdn.microsoft.com/sqlserverstorageengin ...

  9. Azure SQL Database (20) 使用SQL Server 2016 Upgrade Advisor

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

随机推荐

  1. ITFriend创业败局(四):菜鸟CEO的自我修养

    自创业自封CEO以来,短短3个月,又经历了无数的磨练,快速成长中. 创业不同于打工,他要求你必须有全局观和综合能力,技术.市场.商务,啥都得会,还要处理各种各样的问题和矛盾. 根据个人经历,我总结了以 ...

  2. System.nanoTime()和System.currentTimeMillis()性能问题

    ​ 之前给模块做性能优化的时候,需要将性能调到毫秒级,使用了System.nanoTime()和System.currentTimeMillis()对代码分片计时分析耗时操作,后发现在串行情况下性能达 ...

  3. rebar工具使用备忘录

    http://cryolite.iteye.com/blog/1159448 rebar是一个开源的erlang应用自动构建工具.basho的tuncer开发.它实际上是一个erlang脚本(escr ...

  4. oracle表空间查询维护命令大全之中的一个(数据表空间)史上最全

          表空间是数据库的逻辑划分,一个表空间仅仅能属于一个数据库. 全部的数据库对象都存放在建立指定的表空间中.但主要存放的是表, 所以称作表空间.在oracle 数据库中至少存在一个表空间.即S ...

  5. Docker + .NET Core(一)

    原文:Docker + .NET Core(一) 前言: 环境:centos7.5 64 位 正文: 拉取 microsoft/dotnet, 安装完毕后执行 docker images 可以看到本地 ...

  6. 大型项目linux自动化版本发布脚本(shell)之tomcat、nginx服务脚本

    开发十年,就只剩下这套Java开发体系了 >>>   最近,又临近博主所负责的一个大型项目的发版了.之前有提到过,该项目涉及到30-40台服务器的发版.且项目客户规定发版需在晚上10 ...

  7. selenium firefox 提取qq空间相册链接

    环境: selenium-java 3.9.1 firefox 57.0 geckodriver 0.19.1 1.大概的思路就是模拟用户点击行为,关于滚动条的问题,我是模拟下拉箭头,否则只能每个相册 ...

  8. Android开发者的演示工具——asm.jar

    作为Android开发者,我们有时候需要给客户或者其他人演示我们的Android作品.我们可以使用类似豌豆荚.360手机助手这样的软件,今天我来介绍一个Android开发者的演示工具--asm.jar ...

  9. 分布式系统和CAP

    帽子理论(CAP): C:Consistency,一致性, 数据一致更新,所有数据变动都是同步的 A:Availability,可用性, 好的响应性能,完全的可用性指的是在任何故障模型下,服务都会在有 ...

  10. yii2 实现无极限分类

    在商城项目或者其他的项目中无极限分类是非常常见的场景 那么许多人都会这样干 利用递归每次查询数据库,说来惭愧,我以前也是这样干的 总有点误人子弟的感觉 这样做在数据量大的情况下会有一定的延迟 publ ...