`
zu14
  • 浏览: 459167 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

SQL SERVER 分发订阅【转】

阅读更多

复制的概念

microsoft? SQL Server? 2000 的复制是在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术。

使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通过 Internet 分发给远程或移动用户。复制还能够使用户提高应用程序性能,根据数据的使用方式物理分隔数据(例如,将联机事务处理 (OLTP) 和决策支持系统分开),或者跨越多个服务器分布数据库处理。

---------------------------------------------------------------------------
SQL复制的基本元素包括

发布服务器、订阅服务器、分发服务器、发布、项目

发布服务器
发布服务器是提供数据以便复制到其它服务器的服务器。发布服务器可以具有一个或多个发布,每个发布代表一组逻辑相关的数据。除了指定其中哪些数据需要复制之外,发布服务器还检测事务复制期间发生更改的数据并维护有关此站点上所有发布的信息。

分发服务器
分发服务器是作为分发数据库宿主并存储历史数据和/或事务以及元数据的服务器。分发服务器的角色根据执行的复制类型而不同。有关更多信息,请参见复制类型。远程分发服务器是独立于发布服务器并配置为复制的分发服务器的服务器。本地分发服务器是既配置为复制的发布服务器又配置为复制的分发服务器的服务器。

订阅服务器
订阅服务器是接收复制数据的服务器。订阅服务器订阅的是发布而不是发布中分离的项目;并且订阅服务器只订阅其需要的发布,而不是发布服务器上所有可用的发布。根据复制的类型和所选择的复制选项,订阅服务器还可以将数据更改传播回发布服务器或将数据重新发布到其它订阅服务器。

发布
发布是一个数据库中的一个或多个项目的集合。这种多个项目的分组使得指定逻辑相关的一组数据和数据库对象以一起复制变得更容易。

项目
项目是指定要复制的数据表、数据分区或数据库对象。项目可以是完整的表、某几列(使用垂直筛选)、某几行(使用水平筛选)、存储过程或视图定义、存储过程的执行、视图、索引视图或用户定义函数。

订阅
订阅是对数据或数据库对象的复本的请求。订阅定义将接收的发布和接收的时间、地点。订阅的同步或数据分发可以由发布服务器(强制订阅)或订阅服务器(请求订阅)请求。发布可以支持强制订阅和请求订阅的混合。
---------------------------------------------------------------------------
SQL复制的工作原理
SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器

---------------------------------------------------------------------------
SQL SERVER复制技术类型,三种复制技术,分别是(详细的说明参考SQL联机帮助):
1、快照复制
2、事务复制
3、合并复制

============================================================================
下介绍实现复制的步骤。(以快照复制为例)

准备工作:

1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户
--我的电脑
--控制面板
--管理工具
--计算机管理
--用户和组
--右键用户
--新建用户
--建立一个隶属于administrator组的登陆windows的用户

2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作:

我的电脑--D:\ 新建一个目录,名为: PUB
--右键这个新建的目录
--属性--共享
--选择"共享该文件夹"
--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限
--确定


3.设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)

开始--程序--管理工具--服务
--右键SQLSERVERAGENT
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码

4.设置SQL Server身份验证模式,解决连接时的权限问题(发布/订阅服务器均做此设置)

企业管理器
--右键SQL实例--属性
--安全性--身份验证
--选择"SQL Server 和 Windows"
--确定

5.在发布服务器和订阅服务器上互相注册
企业管理器
--右键SQL Server组
--新建SQL Server注册...
--下一步--可用的服务器中,输入你要注册的远程服务器名--添加
--下一步--连接使用,选择第二个"SQL Server身份验证"
--下一步--输入用户名和密码
--下一步--选择SQL Server组,也可以创建一个新组
--下一步--完成

6.对于只能用IP,不能用计算机名的,为其注册服务器别名
  (在连接端配置,比如,在订阅服务器上配置的话,服务器名称中输入的是发布服务器的IP)
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号

==============================================================================

正式开始:

1.配置发布服务器

a. 选中指定 [服务器] 节点
b. 从 [工具] 下拉菜单的 [复制] 子菜单中选择 [发布、订阅服务器和分发] 命令
c. 系统弹出一个对话框点 [下一步] 然后看着提示操作
--直到"指定快照文件夹"
--在"快照文件夹"中输入准备工作中创建的目录: \\<服务器名>\pub
一[下一步] 直操作到完成。
d. 当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器同时也生成一个分发数据库(distribution)


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

2.创建发布
a. 选中指定的服务器
b. 从 [工具] 菜单的 [复制] 子菜单中选择 [创建和管理发布] 命令。此时系统会弹出一个对话框
c. 选择要创建发布的数据库,然后单击 [创建发布]
d. 在 [创建发布向导] 的提示对话框中单击 [下一步] 系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)
e. 单击 [下一步] 系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如 ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQL SERVER 2000"的数据库服务器
f. 单击 [下一步] ,选择要发布的对象(如表,视图,存储过程,一般是表)
g. 然后 [下一步] 直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。


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

3.设计订阅
a. 选中指定的订阅服务器
b. 从 [工具] 下拉菜单中选择 [复制] 子菜单的 [请求订阅]
c. 按照提示单击 [下一步] 操作直到系统会提示检查SQL SERVER代理服务的运行状态,执行复制操作的前提条件是SQL SERVER代理服务必须已经启动。
d. 单击 [完成] 完成订阅操作。


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

完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?
这里可以通过这种方法来快速看是否成功。
展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度
把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。
接下来就是判断复制是否成功了打
开C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。


SQL 复制过程的注意事项
(云中客 http://blog.csdn.net/sxycgxj/archive/2005/09/30/492765.aspx)
1、设置共享复制目录:
       \\\\computer_machine\\C$...\\..如果服务器取消过默认的共享($)则会失败;此时新建一个目录,并赋予权限,目录改为:\\\\computer_machine\\共享目录名

2、建立用于发布应用的windows账号

3、在配置分发服务器时遭遇了 错误18483 提示因为未在该服务器上定义为远程登陆,故无法创建
解决方法:(运行以下程序)
USE master
GO
--设置两个变量
DECLARE @serverproperty_servername  varchar(100),
 @servername    varchar(100)
--取得Windows NT 服务器和与指定的 SQL Server 实例关联的实例信息
--具体可以看联机丛书"SERVERPROPERTY"
SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))
--返回运行 microsoft&reg; SQL Server&#8482; 的本地服务器名称
--具体可以看联机丛书@@SERVERNAME
SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)

--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的
--删除错误的服务器名
EXEC sp_dropserver @server=@servername
--添加正确的服务器名
EXEC sp_addserver @server=@serverproperty_servername, @local='local'

另外分别可对两台服务器做维护计划,进行定期备份操作
这样就可以确保有服务器数据有多个备份,保证了数据的安全性

分享到:
评论

相关推荐

    搞定SQLServer2000分发复制订阅

    搞定SQLServer2000分发复制订阅

    实例Sql server 2005订阅复制同步分发数据到多台服务器

    其次,调整SQL Server代理服务(SQLSERVERAGENT)的启动用户,使其使用步骤一中创建的“test”用户。这是为了确保复制任务能够按照预定的时间计划执行。 接下来,启用SQL Server的网络协议,除了VIA协议外,包括TCP...

    SqlServer发布订阅操作文档.docx

    SqlServer的发布与订阅是数据库复制技术的一种,它允许数据在多台服务器之间进行同步,确保数据的一致性和可用性。这一特性在分布式系统、备份策略和高可用性解决方案中非常关键。以下是关于Sql Server发布与订阅的...

    SQLServer数据库复制分发订阅定制作业流程新版培训教材.doc

    SQL Server数据库复制分发订阅定制步骤详解 SQL Server数据库复制分发订阅定制是指将数据库中的数据从一个服务器复制到另一个服务器,以便实现数据的实时同步和备份。本文将详细介绍 SQL Server数据库复制分发订阅...

    SQL Server 2008订阅和发布

    ### SQL Server 2008订阅和发布:深入解析与操作指南 #### 一、创建发布 在SQL Server 2008中,创建发布是实现数据同步的基础步骤。以下是一系列详细的步骤: 1. **创建产品数据库**:首先,需要在SQL Server ...

    SQL Server 2000订阅与发布

    SQL Server 2000的订阅与发布是数据库同步的一种机制,主要用于在多个数据库服务器之间进行数据的分发和更新。这一功能对于分布式系统、数据仓库或者需要实时数据同步的环境至关重要。以下是对这一主题的详细说明: ...

    SQLServer发布订阅使用(广域网)

    总的来说,SQL Server的发布订阅机制提供了一种强大的工具,用于扩展数据库的读写能力,优化性能,并确保数据的可靠复制和分发。在配置和使用过程中,需要根据实际的业务需求和系统负载来选择合适的复制类型和策略,...

    sqlserver同步发布订阅步骤

    在SQL Server中,同步发布和订阅是数据库复制技术的一部分,用于在不同的服务器之间传播数据更改。...在实际操作中,配合“SqlServer数据同步截图-分发&订阅”这样的图片资源,可以更直观地理解和学习这一过程。

    Sql Server 2008发布订阅

    在 Sql Server 2008 发布订阅中,还有一些其他的设置和配置,例如设置分发服务器、配置代理服务、设置订阅服务器等。这些设置和配置都是为了确保数据的一致性和可靠性,提高系统的可用性和性能。 Sql Server 2008 ...

    SQLServer发布与订阅

    SQL Server 发布与订阅 SQL Server 发布与订阅是一种强大的数据同步技术,能够在不同数据库之间实现数据的一致性和实时同步。通过发布与订阅,可以在局域网和广域网、拨号连接、无线连接和 Internet 上将数据分发...

    SQL复制-发布和订阅

    SQL 复制-发布和订阅 SQL 复制是指将数据从一个服务器复制到另一个服务器,以便在多个服务器上共享数据。这种技术广泛应用于数据仓库、报表服务器、数据备份等领域。在这里,我们将介绍 SQL 复制的发布和订阅过程,...

    SQLServer2000数据库复制分发订阅定制流程.doc

    ### SQL Server 2000 数据库复制分发订阅定制流程详解 #### 一、概述 SQL Server 2000 是一款广泛应用于企业级应用的数据库管理系统,它提供了强大的功能来支持各种业务需求。其中,数据库复制是SQL Server 2000中...

    SQLSERVER发布和订阅部署

    在SQL Server中,发布和订阅是数据库复制技术的一部分,它允许数据在多个服务器之间进行同步,从而实现数据的分发和共享。这项技术对于大型分布式系统、数据仓库、故障恢复和负载均衡等场景非常关键。下面我们将深入...

    SQLServer2000数据库复制分发订阅定制流程图文并茂

    ### SQL Server 2000 数据库复制分发订阅定制流程详解 #### 一、概述 SQL Server 2000 是一款广泛应用于企业级应用的数据库管理系统,它提供了强大的功能来支持各种业务需求。其中,数据库复制是SQL Server 2000中...

    SQLServer数据库发布订阅操作文档

    ### SQL Server 数据库发布订阅操作详解 #### 一、新建数据库发布 在SQL Server环境中,发布订阅机制是一种非常重要的数据同步方法,它允许用户通过定义一个发布(Publication),指定哪些数据库对象(如表、视图...

    SQL SERVER 2005 使用订阅发布同步数据库.doc

    在SQL Server 2005中,订阅发布是数据库复制的一种形式,用于在多个服务器之间同步数据。数据库复制是数据库管理中的一个重要概念,它允许数据在不同的地理位置、服务器或者应用程序间进行分发和同步,以实现数据的...

Global site tag (gtag.js) - Google Analytics