Replication--如何使用快照来初始化化请求订阅
这是一篇针对新人的知识普及文章,老人慎入!
在快照发布和事务发布中,SQL Server需要使用快照来将数据库某一时间点的数据传递给订阅,快照使用BCP的机制。
首先我们需要查看和设置快照的生成目录,在发布的属性里可以看到:
订阅方式有两种:请求订阅和推送订阅,两种订阅方式在初始化订阅和同步数据的运作方式不一样。
推送相对简单,订阅作业运行在分发服务器上,在快照生成后,SQL Server会自动访问快照并将BCP命令传递到订阅数据库上,无须额外设置。
推送订阅的属性:
请求订阅的订阅作业运行在订阅服务器上,快照生成后,需要设置订阅属性“快照位置”来指明如何获取快照数据
请求订阅的属性:
快照的位置有三种选项:
1.默认位置
2.备用文件夹
3.FTP 文件夹
要生成快照,选中发布,点击“查看快照代理状态”,然后点击“启动”,等待快照生产
快照生成在分发服务器上,在快照的目录下可以找到快照(快照目录\unc\[InstanceName_[ReplicationDatabaseName]_[ReplicationName]])
--=========================================================
使用"默认位置"来初始化
默认位置指的是快照生成的位置,以下情况下可以使用
1>如果订阅服务器和分发服务服务器是同一台机器
2>快照目录是共享目录,运行代理服务的账户对该共享目录有访问权限
如果满足以上两个条件之一,不需要额外设置便可以完成订阅初始化。
--=========================================================
使用“备用文件夹”来初始化订阅
将生成的快照拷贝到订阅服务器上,拷贝时利用文件夹的名称来区别是那个发布生成的订阅,在使用次级文件夹下的名称来确定快照生成的时间
如果SQLVM6$SQL2_REPDB2_REPDB2_TB1\20140122182502代表
服务器:SQLVM6
实例:SQL2
数据库:REPDB2
发布:REPDB2_TB1
快照时间:2014-01-22 18:25:02
仅拷贝需要的快照,这样可以提高效率
将快照文件拷贝到订阅服务器文件夹下,需主要保留文件夹的层次,SQLVM6$SQL2_REPDB2_REPDB2_TB1\20140122182502 这两层的目录名不能改变,如我将文件拷贝至订阅服务器上的“E:\unc\SQLVM6$SQL2_REPDB2_REPDB2_TB1\20140122182502”目录下(unc目录不可少),在将订阅属性“快照文件夹”设置为"E:\"
注意:SQL SEVER在查找文件时会在快照文件夹的目录下加一层目录"unc",因此只需要设置到"unc"的上级目录就可以
如果快照目录设置错误的话,我们可以可以查看订阅作业的历史记录来获得提示,如我将目录设置为“E:\unc”后的提示错误:
按照提示修改目录结构便可
在目录设置完成后,重启订阅作业,便可以开始初始化。
--==========================================================================
使用“FTP 文件夹”来初始化订阅
该方式需要在分发服务器上设置FTP来使得订阅端可以访问,使用"FTP"来传递快照时,会在快照文件的默认文件夹下生成一个ftp的目录(与unc目录同级)。
配置顺序:
1>在分发服务器上搭建FTP,并将FTP的登录用户的根目录指向快照目录(ftp目录和unc目录的上一级)
2>配置发布属性
如我的FTP路径为:ftp://192.168.1.27:21022/
则配置如下图:
SQL SERVER 访问ftp://192.168.1.27:21022/ftp/SQLVM6$SQL2_REPDB2_REPDB2-TB1/20140122202357/下的BCP文件
--==========================================================================
总结:
1>使用"默认位置"来初始化,简单易用,无须额外配置,但是适用场景有限。
2>使用"备用文件夹"来初始化,略微复杂,但可操作行强,可以使用多种方式将快照复制到订阅服务器,缺点是以后每次初始化都需要拷贝。
3>使用"FTP 文件夹"来初始化,相对复杂,如果FTP 用户的根目录配置不当,就会失败,优点是配置成功后,以后每次重新无须再做修改。
4>由于快照使用BCP文件来存放某一点的数据,因此数据较大时,快照文件会特别大,使用FTP方式不能压缩快照文件,因此会耗时较长,推荐将快照压缩后传递到订阅服务器,再使用"备用文件夹"来初始化。
Replication--如何使用快照来初始化化请求订阅的更多相关文章
- Replication--使用备份初始化订阅--请求订阅
1. 修改发布属性"许从备份文件初始化"置为TRUE 脚本修改:USE [DB01]GODECLARE @publication AS sysnameSET @publicatio ...
- 在Sql2000 sql2005 sql2008 下已能实现事务复制的强制订阅,但请求订阅始终不能实现总有下列错误提示
硬件环境 : 一台服务器 安装了 sqlserver2008 数据库 局域网还有一台机器 安装了 sqlserver2000数据库 两台server 通信 共享均没有问题 同步过程中遇到的问题 : ...
- uploadify 自动访问url 初始化 自动请求
摘要: uploadify 自动请求url, 初始化时自动请求url解决方法. 项目中使用了uploadify 上传图片,当访问到上传页面url,uploadify初始化时再一次访问该url 当我在配 ...
- 2.SpringMVC源码分析:DispatcherServlet的初始化与请求转发
一.DispatcherServlet的初始化 在我们第一次学Servlet编程,学java web的时候,还没有那么多框架.我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根 ...
- SpringMVC源码分析3:DispatcherServlet的初始化与请求转发
在我们第一次学Servlet编程,学java web的时候,还没有那么多框架.我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根据需要重写一下doGet,doPost方法,跳转 ...
- echart 圆滑初始化化
圆滑:主题下载对应主题js引入后注入对应名称参数方可使用主题 初始化:tab点击的时候初始化图表涉及到tab切换到的需要延迟加载否则默认宽度为100px 1.创建macarons.js文件 2.页面添 ...
- oracle初始化化表空间用户权限
oracle单实例安装完毕,需要初始化表空间.用户.等信息.不积跬步,何以至千里! 用sys账户登录oracle数据库,以此来完成所有操作! 01.创建临时表空间 create temporary t ...
- django-rest-framework-源码解析002-序列化/请求模块/响应模块/异常处理模块/渲染模块/十大接口
简介 当我们使用django-rest-framework框架时, 项目必定是前后端分离的, 那么前后端进行数据交互时, 常见的数据类型就是xml和json(现在主流的是json), 这里就需要我们d ...
- SQL SERVER Transactional Replication中添加新表如何不初始化整个快照
在SQL SERVER的复制(Replication)中,有可能出现由于业务需求变更,需要新增一张表或一些表到已有的复制(发布订阅)当中,这种需求应该是很正常,也很常见的.但是在已有的复制(发布订阅) ...
随机推荐
- python打造漏洞补丁缺少检测
前言: 当我们进行后渗透的时候,进行提权的时候 要识别被未打补丁的漏洞.来进行提权,从而 拿到管理员权限. 思路: 1.让使用者在cmd中打systeminfo命令.将补丁号 放入一个txt. 2.与 ...
- HyberLedger Fabric学习(4)-chaincode学习(操作人员)
参考:http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html chaincode也能被称作“智能合约”,一般情况下 ...
- WordPress部署
WordPress部署 WordPress是一个门户.博客网站的制作工具,php开发,自带后台,可以很简便的安装主题,还拥有一个庞大的主题网站生态. 软件下载:https://cn.wordpress ...
- .NET和UNITY版本问题
亲测:unity5.5之前:通过VS工程属性查看.NET版本为3.5, 对应unity中没有可查看的项,只有一个Api Compatibility level 是.net subset2.0,看名字, ...
- codeforces:855D Rowena Ravenclaw's Diadem分析和实现
题目大意: 提供n个对象,分别编号为1,...,n.每个对象都可能是某个编号小于自己的对象的特例或是成分.认为某个对象的特例的特例依旧是该对象的特例,即特例关系传递,同样一个对象的成分的成分依旧是该对 ...
- jsp滚动框(非滚动条)
<marquee scrollAmount=4 width=300>需要滚动的字</marquee> scrollAmount表示运动速度,值是正整数,默认为6,越大滚动越快 ...
- QTcpSocket-Qt使用Tcp通讯实现服务端和客户端
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QTcpSocket-Qt使用Tcp通讯实现服务端和客户端 本文地址:https:// ...
- 安装python-empy
sudo python setup.py install
- Zookeeper 源码(六)Leader-Follower-Observer
Zookeeper 源码(六)Leader-Follower-Observer 上一节介绍了 Leader 选举的全过程,本节讲解一下 Leader-Follower-Observer 服务器的三种角 ...
- 我读《从Paxos到zookeeper分布式一致性原理与实践》
从年后拿到这本书开始阅读,到准备系统分析师考试之前,终于读完了一遍,对Zookeeper有了一个全面的认识,整本书从理论到应用再到细节的阐述,内容安排从逻辑性和实用性上都是很优秀的,对全面认识Zook ...