Replication方案可以分为Snapshot Replication, Transactional Replication, Peer-2-Peer Replication, Merge Replication。
Snapshot Replication:一般用于对于数据库的一次性的完全复制。
Transactional Replication:用于主数据库向从数据库的单向复制。
具有可更新订阅的事务性发布: 发布服务器与订阅服务器可以独立修改,会定时合并
Merge Replication:可以把多个数据库中的数据进行合并后,复制到目标数据库。

注:发布服务器上需要建立一个windows账号,用来对分布产生的文件进行读取与写入,同时为了利用此账号访问发布数据库,所以需要在
SqlServer上创建此账号,具体是选择浏览,选择windows账号。同时为了使sql
server服务可以读写分布产生的文件,要将agent服务设置为此系统账号。
而订阅服务器上也要建立一windows账号,是为了增大agent服务的权限,及对订阅数据的写操作。
一、准备工作:
1.在分发与发发数据库上建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。
2.在SQL SERVER下实现发布服务器和订阅服务器的通信正常(即可以互访)。打开1433端口,在防火墙中设特例
3.在发布服务器上建立一个共享目录,作为发布快照文件的存放目录。例如:在D盘根目录下建文件夹名为SqlCopy
4.设置SQL 代理(发布服务器和订阅服务器均设置) 打开服务(控制面板—管理工具—服务) —右击SQLSERVER AGENT—属性—登录—选择“此帐户“ —输入或选择第一步中创建的WINDOWS 用户 —“密码“中输入该用户密码
5.设置SQL SERVER 身份验证,解决连接时的权限问题(发布、订阅服务器均设置)
步骤为:对象资源管理器—-右击SQL实例—–属性—-安全性—-服务器身份验证——选“SQL Server和WINDOWS“,然后点确定
6.开启SQL Server 2005的网络协议TCP/IP和管道命名协议并重启网络服务。
7.在SQL Server中创建步骤1中对应的系统用户登陆名,作为发布数据库的拥有者(设置为dbo_owner和public)。

二、开始:
在分发服务器上建共享文件夹
1,分发服务器上,右击复制,建立分发,注意在指定快照路径时需是网络路径,如:\\192.168.16.204\sqlCopy
204为分发服务器。 若出现运行复制分发时 “由于出现操作系统错误 3,进程无法读…”
则要查看分发服务器属性中的快照与订阅服务器的快照是否指向了网络连接。
2,发布服务器上,右击复制-本地发布,建立发布
2,订阅服务器上,右击复制-本地订阅,建立发布,分发代理安全性中
在以下Windows账号下运行,此账号指订阅服务器的账号,或者选择代理
连接到分发服务器: 选择使用以下SQL Server登陆名 分发服务器所要发布的数据库拥有者的账号

发布服务器配置(在发布服务器上配置发布和订阅)
1. 选择 复制 节点
2. 右键本地发布 —-下一步———系统弹出对话框看提示—-直到“指定快照文件夹“
—-在“快照文件夹“中输入准备工作中创建的目录(指向步骤3所建的共享文件夹)——选择发布数据库——-选择发布类型——-选择订阅服务器类型——-选择要发布的对象——设置快照代理——-填写发布名称。
3. 右键本地订阅——–选择发布服务器——-选择订阅方式(如果是在服务器方订阅的话选择推送订阅反之选择请求订阅)——-填加订阅服务器——–选择代理计划(一般选择连续运行)———其余选择默认项。

注:1)
原先数据库的Release一般会分为三部分:1.表结构的变化(包括加/删表,加/删列);2.配置数据的装载(如添加新功能的配置数据);3.刷函数与存储过程脚本。
对于本项目中的Replication数据库,在Release过程中需注意以下几点:1.若新加的表需要进行Replication,除了在主数据库创
建表之外,还需配置此表进行Replicate,并进行初始化。2.若要删除某处于Replication的表,需先取消此表的Replication,
再在主、从库中drop此表。3.若需要加/删Replication表的列(此列不能为主键列)时,可以直接在主数据库上执行脚本,变化会自动
Replicate到从数据库。4.配置数据的装载也只需要在主数据库完成。5.函数与存储过程需要在主、从库上都进行刷新。
2)增加列、删除列不能直接在manage studio上面操作,否则出现无法对 表’frmUser’ 执行 删除,因为它正用于复制。 (.Net
SqlClient Data Provider,此时要用sql语句。sql server的说明是:对表进行架构更改时必须使用
Transact-SQL ,在 SQL Server Management Studio 中进行架构更改时,Management Studio
将尝试删除并重新创建表。因为无法删除已发布的对象,所以架构更改失败。

版权声明:本文为博主原创文章,未经博主允许不得转载。

MsSqlServer 复制分发概述的更多相关文章

  1. 基于iSCSI的SQL Server 2012群集测试(五)--镜像,作业,复制分发测试

    7.1.镜像测试 群集可以正常镜像到非群集环境,本次测试采用,无见证服务器的sql server验证的镜像连接,不同的是群集环境的镜像IP是采用SQL Server虚拟IP进行通信连接. 群集服务器: ...

  2. MongoDB实战指南(六):MongoDB复制集之复制集概述

    1. 复制集概述 数据库总是会遇到各种失败的场景,如网络连接断开.断电等,尽管journaling日志功能也提供了数据恢复的功能,但journaling通常是针对单个节点来说的,只能保证单节点数据的一 ...

  3. MSSQL复制分发对异构数据库之间大容量数据分发造成异常

    由于历史遗留的问题,现有的架构中存在采用MSSQL的复制分发功能,从Oracle发布数据到MSSQL. 关于这项发布的实现原理,官方表述如下: Oracle 事务发布是通过使用 SQL Server ...

  4. SQL Server 事务复制分发到订阅同步慢

    原文:SQL Server 事务复制分发到订阅同步慢 最近发现有一个发布经常出现问题,每几天就出错不同步,提示要求初始化.重新调整同步后,复制还是很慢!每天白天未分发的命令就达五六百万条!要解决慢的问 ...

  5. SQL SERVER2005 的三种复制类型概述

    一.事务复制 事务性复制通常从发布数据库对象和数据的快照开始.创建了初始快照后,接着在发布服务器上所做的数据更改和架构修改通常在修改发生时(几乎实时)便传递给订阅服务器.数据更改将按照其在发布服务器上 ...

  6. LMAX Disruptor—多生产者多消费者中,消息复制分发的高性能实现

    解决的问题 当我们有多个消息的生产者线程,一个消费者线程时,他们之间如何进行高并发.线程安全的协调? 很简单,用一个队列. 当我们有多个消息的生产者线程,多个消费者线程,并且每一条消息需要被所有的消费 ...

  7. mongoDB研究笔记:复制集概述

    自我学习,仅供参考: 数据库总是会遇到各种失败的场景,如网络连接断开.断电等,尽管journaling日志功能也提供了数据恢复的功能,但journaling通常是针对单个节点来说的,只能保证单节点数据 ...

  8. mysql之 MySQL 主从基于 GTID 复制原理概述

    一. 什么是GTID ( Global transaction identifiers ):MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid ...

  9. mysql 半同步复制~ 整体概述与改进

    一 简介:今天来聊聊增强半同步复制这一强悍的特性 二 原理解析 1 AFTER_COMMIT(5.6默认值) master将每个事务写入binlog ,传递到slave 刷新到磁盘(relay log ...

随机推荐

  1. UIkit框架之UIcollection

    1.继承链:UIScrollView:UIview:UIResponder:NSObject 2.collection view使用的数据源需要遵守UICollectionViewDataSource ...

  2. sublime text3 快捷键设置

    //插入到key binding user 里面,浏览器安装路径修改成自己的路径 1[ //firefox测试快捷键 { "keys":["f3"], &quo ...

  3. Shell 环境变量 & 参数变量

    环境变量 $HOME 当前用户的家目录 $PATH 以冒号分隔的用来搜索命令的目录列表 $PS1 命令提示符,通常是$字符,但在bash中,可以使用一些更复杂的值.例如,字符串[\u@\h \w]$就 ...

  4. python笔记集合

    1.win_64下编译pyd(编译器用的tdm-gcc-5.1) gcc test.c -shared -Ic:\Python27\include -Lc:\Python27\libs -lpytho ...

  5. 038. asp.netWeb用户控件之六实现日期选择的用户控件

    web用户控件的ascx代码: <%@ Control Language="C#" AutoEventWireup="true" CodeFile=&qu ...

  6. Sea.js学习1——初识Sea.js

    Sea.js 是一个成熟的开源项目,核心目标是给前端开发提供简单.极致的模块化开发体验. 使用 Sea.js,在书写文件时,需要遵守 CMD (Common Module Definition)模块定 ...

  7. jQuery中.bind() .live() .delegate() .on()的区别

    bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数 $("a").bind("click",function(){alert(& ...

  8. PicPopupWindow的使用

    Github地址https://github.com/lujianfeiccie/android_picpopup_window 效果图1: 效果图2:

  9. php实现等比例不失真缩放上传图片

    有时上传图片时因为图片太大了,不仅占用空间,消耗流量,而且影响浏(图片的尺寸大小不一).下面分享一种等比例不失真缩放图片的方法,这样,不管上传的图片尺有多大,都会自动压缩到我们设置尺寸值的范围之内.经 ...

  10. Reflector 反编译 .NET文件后修复

    反编译后的工程文件用VS2010打开后,在打开窗体时会出现一系列错误提示: 第一种情况: “设计器无法处理第 152 行的代码: base.AutoScaleMode = AutoScaleMode. ...