SQL Server 跨网段跨机房FTP复制

一、 背景

搭建SQL Server复制的时候,如果网络环境是局域网内,通过主机名就可以实现了,但是如果是跨网段、跨机房异地搭建复制的时候就需要注意了,因为SQL Server复制不支持通过IP连接分发服务器,那有什么办法解决跨网段、跨机房的问题呢?

我在SQL Server跨网段(跨机房)复制已经讲到了两种解决方法,如果想用请求订阅模式,共享快照文件权限的配置比较麻烦,更好更安全的方式是通过FTP形式读取快照文件进行初始化;

二、 搭建过程

(一) 环境信息

系统环境:Windows Server 2008 + SQL Server 2008

发布服务器:192.168.1.101,1924,服务器名称:USER-H2B2A89PEK

分发服务器:与发布服务器同一台机器

订阅服务器:192.168.1.102,1433,服务器名称:QuZhoushiwei105

发布数据库:Task

订阅数据库:TaskSubscribe

数据库帐号:ReplicationUser/ ReplicationPassword

FTP地址:ftp://192.168.1.101:9721

FTP帐号密码:ftpuser/ftppassword

(二) 搭建步骤

开始下面的步骤之前你需要确认你的FTP地址是可用的,确保使用FTP客户端程序可以读取并下载生成的快照文件;

A. 发布服务器配置

下面是设置发布服务器的具体步骤:

(Figure1:选择发布数据库)

(Figure2:事务发布)

(Figure3:选择对象)

(Figure4:初始化订阅)

时间: 2024-09-09 07:45:04

SQL Server 跨网段跨机房FTP复制的相关文章

SQL Server 跨网段跨机房复制

一. 背景 搭建SQL Server复制的时候,如果网络环境是局域网内,通过主机名就可以实现了,但是如果是跨网段.跨机房异地搭建复制的时候就需要注意了,因为SQL Server复制不支持通过IP连接分发服务器,那有什么办法解决跨网段.跨机房的问题呢? 二. 解决方案 在跨网段.跨机房进行SQL Server复制的时候需要区分两种情况:一种是外网IP的1433端口对应了这台机器SQL Server的数据库端口:另外一种情况是外网IP对应SQLServer机器的端口不是1433:下面是几种解决方案:

通过SQL SERVER 触发器实现跨库同步

有两个服务器,分别装有两个SQL Server A ,B A,B的表结构a,b 相同 A,B分别都会做一些INSERT,UPDATE,DELETE操作,要求AB的数据保持一致 (即A新增一条数据,要求B也新增,A更改一条数据,B也更改相应的) 是不是可以用触发器来实现 例程 /*--同步两个数据库的示例 有数据 srv1.库名..author有字段:id,name,phone, srv2.库名..author有字段:id,name,telphone,adress 要求: srv1.库名..aut

Proxy Server和SQL Server在上数据库的安全复制

server|安全|数据|数据库 为SQL Server在WinSock上定义协议的步骤如下:1. 在"启动"菜单上,指向"程序/Microsoft Proxy Server",然后点击"Microsoft Management Console".2. 展开"Internet Information Service",再展开运行Proxy Server的服务器.3. 右击WinSock Proxy service, 再点击属性

SQL Server从备份初始化的事务复制中添加发布项目

有时候,您可能首先从备份初始化了一个事务订阅,然后你又需要添加一个项目(Article).如果订阅方是由快照初始化的,你可以重新运行快照代理产生新的快照,其中只有新添加的那个项目被BCP出然后在订阅方BCP入.但是,如果是使用备份/还原建立的订阅,其快照代理是不起作用的. 因而,在这种情况下,当一个新建表需要被新添加进发布时有两种方式: 1.只为那一个项目创建新发布.使用发布向导或脚本,并选择默认选项向订阅服务器推送一个新的快照.同一个发布数据库上的多个发布共享一个日志读取代理,而各个分发代理将

SQL Server 2005 数据库复制详细介绍_mssql2005

对于一个地域分散的大型企业组织来说,构建具有典型的分布式计算机特征的大型企业管理信息系统时,总要解决一个很重要的问题:如何在多个不同数据库服务器之间保证共享数据的一致性.之所以有这个重要的问题在于企业组织在不同地点对具有相同结构的本地数据库进行修改,但要保证修改后的数据库有相同的结果,其本质就是在对本地数据库的修改体现在其他具有相同数据的远程数据库中.那么如何解决这个问题就要用到数据库的复制技术. SQL SERVER提供了内置的复制能力,复制组件并不是附加产品,而是核心引擎的一部分.在复制这个

SQL Server复制原理及注意事项

以两个复制服务器A,B双向复制为模型 SQL Server的复制分为三种: 1. 快照复制 A每隔一段时间将B中的相应表中的数据全部删除,然后将自己相应表中的 全部插到B中.此种方式显然不适合我们的应用,不予考虑. 2. 事务复制 对A中的每一个满足复制条件的事务,每隔一定时间A都应用到B上,反之亦然.SQL Server 通过把数据传给三个存储过程(插入,删除,修改)进行数据的修改,我们可以根据自己的应用改写此存储过程. 存在缺陷:如果从A到B的复制条件和从B到A复制条件相同的话,会产生"踢皮

《数据库基础及实践技术——SQL Server 2008》一3.7 复制数据库

3.7 复制数据库 将数据库从一台服务器移动(复制)到另一台服务器有多种方法,3.6节介绍过的分离和附加数据库是一种方法,本节介绍的复制数据库是另一种方法,还有一种方法是使用备份和恢复数据库(在第13章介绍)技术.SQL Server 2008提供了复制数据库向导,利用该向导可以很方便地将数据库从一台服务器复制到另一台服务器,也可以将数据库复制到同一台服务器上.而且可以将SQL Server 2000或SQL Server 2005数据库复制到SQL Server 2008版本的实例上,从而实现

SQL Server数据库复制失败的原因及解决方法_MsSql

在SQL Server数据库操作中,对数据库复制时出现了以下的错误,错误信息如下图所示: SQL Server数据库复制失败的原因及解决方案 出现上面的提示信息,会是什么原因导致的呢?笔者经过一番推敲终于找到了上述的原因. 原因:在复制数据库时,必须先停止mssqlserver服务,然后才能复制. 解决方法: 开始-->运行-->services.msc打开服务管理器,找到mssqlserver服务,然后停止该服务. 或者 开始-->运行-->cmd-->net stop m

SQL Server数据复制到的Access两步走_MsSql

我们今天主要向大家讲述的是把SQL Server数据复制到的Access数据库中的实际操作步骤,把SQL Server数据库中的某些数据复制到的Access数据库中,其表的主要结构是相同的,不要提用openrowset,因为Access文件和SQL Server不在一台机器上. 初步的想法是用两个recordset,一个从SQL取数据,一个往Access里面插入数据 因为表的字段比较多,所以只好用一个循环 while (!m_pRecordset_sql->adoEOF) { m_pRecord