SQL Server 跨网段(跨机房)通过备份文件初始化复制

笔者最近碰到了需要搭建跨网段的SQL Server复制,实际的拓扑结构如下草图所示:

A服务器位于CDC机房中

B服务器位于阿里云

因为SQL Server复制不支持通过IP连接分发服务器,为了解决跨网段、跨机房的问题,笔者采用了如下的解决方案:

1.设置端口映射:在防火墙中开放外网IP的1433端口对应位于CDC机房中的发布服务器A的1433端口。并且该1433端口仅对位于阿里云的服务器B开放。

2.打开位于阿里云的服务器B的1433端口,并设置仅限CDC机房服务器访问。

3.基于安全考虑,采用备份文件初始化,这样可以不必使用文件共享快照文件。

4.使用Host文件,将IP与服务器名对应。

5.由于仅仅是测试,为了简化设置,发布服务器和分发服务器都在同一个服务器上。

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

以下是实际测试搭建SQL Server 跨网段(跨机房)通过备份文件初始化复制的过程截图:

1,在订阅服务器上设置HOST文件,将CDC机房的外网IP对应发布服务器A的服务器名:

2,同样在发布服务器上设置HOST文件,将位于阿里云的订阅服务器外网IP对应订阅服务器的机器名:

3,在发布服务器和订阅服务器上分别创建Replication用户(这里仅提供了在订阅服务器创建的截图),分别用于日志读取代理器连接发布服务器和推送复制连接到订阅服务器。

4,在发布服务器上新建本地发布

此处快照文件夹可以随便设置,因为后续不会使用到。

设置基本完成。

6,备份发布数据库(需要保留一份在发布数据库上,以备创建订阅时使用):

USE [master]
GO
BACKUP DATABASE [mydb]
TO  DISK = N‘E:\dbbackup\full\mydb 2015-02-26_2.BAK‘
WITH NOFORMAT, NOINIT,  NAME = N‘mydb-完整数据库备份‘,
SKIP, NOREWIND, NOUNLOAD,COMPRESSION,  STATS = 10
GO

7,拷贝一份备份文件到订阅服务器
8,在订阅服务器还原数据库:

RESTORE DATABASE [mydb]
FROM  DISK = N‘D:\mydb 2015-02-26\mydb 2015-02-26.BAK‘
WITH  FILE = 1,
MOVE N‘mydb‘ TO N‘D:\MSSQL\Data\mydb\mydb.mdf‘,
MOVE N‘mydb_Data‘ TO N‘D:\MSSQL\Data\mydb\mydb_Data.ndf‘,
MOVE N‘mydb_log‘ TO N‘D:\MSSQL\Log\mydb\mydb_log.ldf‘,
NOUNLOAD,  REPLACE,  STATS = 10
GO

9,在发布服务器上创建订阅:

USE [mydb]
GO
EXEC sp_addsubscription
    @publication = N‘TranPub_mydb‘,
    @subscriber =‘mySubscriptionNm‘,
    @destination_db = N‘mydb‘,
    @subscription_type = N‘Push‘,
    @sync_type = N‘initialize with backup‘,
    @backupdevicetype=‘disk‘,
    @backupdevicename=‘E:\dbbackup\full\mydb 2015-02-26.BAK‘

创建成功后会得到消息:

Job ‘XXXX‘ started successfully.
Warning: The distribution agent job has been implicitly created and will run under the SQL Server Agent Service Account.

10,最后还需要修改订阅端的连接:

打完收工,文字不多,以图片说话,如有不明白的地方请大家留言就是。

参考文献:

https://technet.microsoft.com/zh-cn/library/ms147834(v=sql.105)

http://www.cnblogs.com/gaizai/archive/2013/09/18/3328511.html

http://www.cnblogs.com/gaizai/p/3309567.html

时间: 2024-11-05 15:49:33

SQL Server 跨网段(跨机房)通过备份文件初始化复制的相关文章

SQL Server 中的跨库视图

SQL Server 中的跨库视图 在一个SQL中,有多个数据库,A.B.C,在使用C为连接库中,现在要查询A中的表T1. 那么,在C中建创视图(A_T1). SELECT *FROM A.dbo.T1 这样就当本地表使用了.

SQL Server 通过备份文件初始化复制 – 听风吹雨

一.背景 MySQL在对有历史数据的数据库进行搭建复制(Master/Slave)的时候,可以通过在Master服务器备份历史数据,利用这个备份文件 在Slave进行还原:这样做的好处是可以更加快速的搭建好环境,因为可以对备份文件进行压缩.分包,并且可以使用FTP等工具保证传输过程的安全与快 捷:详情可参考:Windows下搭建MySQL Master Slave 当SQL Server遇到同样需要对历史数据库搭建复制,通常的做法是在本地发布快照,再由订阅传输数据,那SQL Server应该如何

跨网段跨vlan访问管理vlan

管理vlan和办公vlan不是同一个,甚至是跨交换机. 实验名称 跨网段,跨vlan访问管理vlan 实验拓扑 思路: Trunk/默认路由(等于思科默认网关) 说明: 管理vlan 1,要求从PC能访问任意vlan 1. //配置SW1 <H3C>system-view [H3C]sysname SW1 [SW1]int vlan1 [SW1-Vlan-interface1]ip  add 192.168.1.1 29 [SW1-Vlan-interface1]vlan  10 [SW1-v

Step6:SQL Server 数据变更时间戳(timestamp)在复制中的运用

一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 方案(Solution) 方案一(Solution One) 方案二(Solution Two) 方案三(Solution Three) 实现过程(Process) 注意事项(Attention) 参考文献(References) 二.背景(Contexts) SQL Server数据库中Basic与Group两个表需要提供部分字段给其它程序读取,程序把这两个表的数据缓存到内存中,但是程序想

网络设置——给学妹 设置 远程桌面 登录 跨网段 跨路由器 的 虚拟机 学习 数据库

==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性. 未经作者同意请勿修改(包括本声明),保留法律追究的权利. 未经作者同意请勿用于学术性引用. 未经作者同意请勿用于商业出版.商业印刷.商业引用. 本文不定期修正完善,为保证内容正确,建议移步原文处阅读. 本文链接:http://www.cnblogs.com/wlsandwho/p/44446

SQL Server 不同网段IP通过名称访问

1, 设置订阅服务器C:\Windows\System32\drivers\etc目录的host文件,添加分发服务器(我的环境是发布服务器与分发服务器 是一起的,所以这里指定的是发布服务器的地址)信息:192.168.1.101 USER-H2B2A89PEK 2,在分发服务器上,如果别名的设置包括:SQL Native Client 10.0 配置(32位)和SQL Native Client 10.0 配置,需要都设置订阅服务器的别名,如果没有像Figure13那样进行设置, 如:SSDBS

SQL Server使用文件组备份降低备份文件占用的存储空间

对于DBA来说,备份和刷新简历是最重要的两项工作,如果发生故障后,发现备份也不可用,那么刷新简历的重要性就显现出来,哇咔咔!当然备份是DBA最重要的事情(没有之一),在有条件的情况下,我们应该在多个服务器上保留多份完备和日志备份,甚至某些公司会要求将完备数据保留到磁带或超大存储上,以保证可以恢复很久之前的数据. 于是便有一个艰难的选择:备份空间和备份保存期,磁盘再便宜也是要钱的,尤其某些吝啬的老板宁愿多花几十万招个人也不宁愿在硬件上多投资一丁点,把不得把服务器所有资源都利用起来才高兴,在备份空间

SQL Server安全(7/11):使用跨数据库所有权链接(Cross-Database Ownership Chaining)的跨数据库安全

在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Server里的安全功能充分利用,不用在面对特定威胁,不能保护你数据的功能上浪费时间. 从让人眼花缭乱的客户端使用连接,通过到处分布的网络,尤其是互联网,关系数据库在各种应用程序里广泛使用.这使数据对任何人,在任何地方都可访问.数据库可以保存人类知识的很大部分,包括高度敏感的个人信息和让国际商务工作的关

微软发布SQL Server on Linux

本文参考并翻译自:微软云计算与企业执行副总裁Scott Guthrie的博客. 过去的一年,不管是对于微软的数据业务,还是整个行业,都是令人惊喜的一年.在周四刚于纽约举行的Data Driven活动中,我们为今年晚些时候将发布的SQL Server 2016通用版本启动了一系列的宣传活动.这是我们有史以来,针对SQL Server做的最重大的版本发布,同时带来的是更多拥有超凡体验的新特性.SQL Server 2016将拥有: 开创性的安全加密技术特性,使得数据无论在存储时.运算中.或是在内存里