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)中,有可能出现由于业务需求变更,需要新增一张表或一些表到已有的复制(发布订阅)当中,这种需求应该是很正常,也很常见的.但是在已有的复制(发布订阅) ...
随机推荐
- java之Jsch实现Linux的文件上传与下载
一.JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功 ...
- usaco 2009 12 过路费
最近学的图论,oj上的这道题卡了我一上午,写一下总结. 题目描述: 跟所有人一样,农夫约翰以着宁教我负天下牛,休教天下牛负我(原文:宁我负人,休教人负我)的伟大精神,日日夜夜苦思生财之道.为了发财,他 ...
- 关于&&和||
从alert(1&&2)输出为2谈起 一.先来说说||(逻辑或),从字面上来说,只有前后都是false的时候才返回false,否则返回true. alert(true||false); ...
- 8种常被忽视的SQL错误用法
作者:一杯甜酒 原文:https://blog.csdn.net/u012562943/article/details/71403500 sql语句的执行顺序: FROM <left_table ...
- Python Web框架——Flask
简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理 ...
- upstream prematurely closed connection while reading response header from upstream
upstream prematurely closed connection while reading response header from upstream nginx配置uwsgi的时候 ...
- Docker compose自动化部署
安装 https://docs.docker.com/compose/install/#install-compose
- 使用libcurl显示下载进度
使用libcurl显示下载进度 http://blog.csdn.net/zhouzhenhe2008/article/details/53876622
- editplus 链接FTP失败,超时
最近在用editplus链接服务器是出现了超时连接不上的情况 检查后发现FTP配置没问题 后来打开高级设置后发现没有配置端口号 配置后登陆成功
- awk使用
[awk使用] 例:awk -F ':' '{print $1"\t"$7}' 参考:http://www.cnblogs.com/ggjucheng/archive/2013/0 ...