原文:超详细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. PHP如何实现数据类型转换(字符转数字,数字转字符)(三种方式)

    PHP如何实现数据类型转换(字符转数字,数字转字符)(三种方式) 一.总结 一句话总结: 1.强制转换:(int) (bool) (float) (string) (array) (object) 2 ...

  2. TimeUnit用法

    TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段 1.主要作用 时间颗粒度转换 延时 2.常用的颗粒度 TimeUnit.DAYS //天 TimeU ...

  3. 5.3.3.1 deque其他使用方式

    在本节里提供了一些关于deque其他使用方式. 提供相似UNIX中的命令tail的功能,显示一个文件最后面一段文本: def tail(filename, n=10): '返回文件最后的n行文本' w ...

  4. TensorFlow 辨异 —— tf.add(a, b) 与 a+b(tf.assign 与 =)、tf.nn.bias_add 与 tf.add

    1. tf.add(a, b) 与 a+b 在神经网络前向传播的过程中,经常可见如下两种形式的代码: tf.add(tf.matmul(x, w), b) tf.matmul(x, w) + b 简而 ...

  5. WatchDog工作原理

    Android系统中,有硬件WatchDog用于定时检测关键硬件是否正常工作,类似地,在framework层有一个软件WatchDog用于定期检测关键系统服务是否发生死锁事件. watchdog的源码 ...

  6. 利用WPF建立自己的3d gis软件(非axhost方式)(一)

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(一) 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew 密码:1te1 地 ...

  7. ubuntu 下 caffe 的安装

    官方下载说明:Caffe | Installation: Ubuntu 在 ubuntu 的一些较新版本中(14.04 以上),caffe 的所有依赖包都可以使用 apt-get 大法搞定. 1. 依 ...

  8. 一组西门子S7 报文

    03 00 00 16 11 E0 00 00 00 01 00 C1 02 10 00 C2 02 03 01 C0 01 0A(第一次握手报文) 03 00 00 16 11 D0 00 01 0 ...

  9. 转载:Adb远程连接Android系统(通过网络使用ADB(Connect to android with wifi))

    本文介绍如何通过网络(尤指无线网络)与Android的adbd进行连接.原理:adb server: 计算机上的一个服务进程,进程名为adbadb daemon: Android 手机上的一个服务进程 ...

  10. Java并发编程:synchronized和Lock

    转自  :   http://www.tuicool.com/articles/qYFzUjf