自上次公司业务部门系统 瘫掉以后,老大叮嘱做个数据库同步增长备份的东东.以前没接触过,于是利用周六,周日两天的时间,研究一下.以做防范!
做之前,首先要了解一下涉及到的概念:
1.复制概念:
Microsoft? SQL Server? 2000 的复制是在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术。使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通过 Internet 分发给远程或移动用户。复制还能够使用户提高应用程序性能,根据数据的使用方式物理分隔数据(例如,将联机事务处理 (OLTP) 和决策支持系统分开),或者跨越多个服务器分布数据库处理。
SQL复制的基本元素包括
发布服务器、订阅服务器、分发服务器、
发布服务器
只需要记住以下几点:
<1>是提供数据以便复制到其它服务器的服务器。
<2>具有一个或多个发布,每个发布代表一组逻辑相关的数据。除了指定其中哪些数据需要复制之外
<3>检测事务复制期间发生更改的数据并维护有关此站点上所有发布的信息。
<2>远程分发服务器是独立于发布服务器并配置为复制的分发服务器的服务器。本地分发服务器是既配置为复制的发布服务器又配置为复制的分发服务器的服务器。
订阅服务器
<1>是接收复制数据的服务器。订阅服务器订阅的是发布而不是发布中分离的项目;
<2>只订阅其需要的发布,而不是发布服务器上所有可用的发布。根据复制的类型和所选择的复制选项
<3>可以将数据更改传播回发布服务器或将数据重新发布到其它订阅服务器。
ok,现在介绍下具体的实施步骤:(快速复制为参考)
一:准备工作:
这是必须要做的.如果前期的准备工作没做好的话,那么,你就哪凉快去哪吧!^_^
我在做测试的时候,用的是两台win2003的PC机,晕的是,1433端口竟然怎么telnet 也不通....???呵呵,气死我了...
后来,就把其中一台的系统重新做了一次...还好,算是对的起偶的良苦用心!在次,要提醒各位一句,准备的时候,一定要考虑如下几点建议.
A.操作系统的版本.
B.SQL Server版本,最好是企业版.SP4补丁.
C.网络连接...1433断口一定要保持通畅.
开始准备工作:
1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户
直接用命令行命令"compmgmt.msc"在-->用户和组中.来建立一个隶属于administrator组的登陆windows的用户.确定,退出
2.在发布服务器上,D:\ 新建一个目录,名为: PUB共享目录,做为发布的快照文件的存放目录,共享该文件夹.设置"权限"为第一步中创建的用户具有对该文件夹的所有权限.即:Administrtor权限.确定,退出
3.设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)
开始--程序--管理工具--服务
--右键SQLSERVERAGENT
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码
4.设置SQL Server身份验证模式,解决连接时的权限问题(发布/订阅服务器均做此设置)
企业管理器
--右键SQL实例--属性
--安全性--身份验证
--选择"SQL Server 和 Windows"
--确定
5.在发布服务器和订阅服务器上互相注册.到这,一定要保证1433通畅.....
企业管理器
--右键SQL Server组
--新建SQL Server注册...
--下一步--可用的服务器中,输入你要注册的远程服务器名--添加
--下一步--连接使用,选择第二个"SQL Server身份验证"
--下一步--输入用户名和密码
--下一步--选择SQL Server组,也可以创建一个新组
--下一步--完成
备注:对于只能用IP,不能用计算机名的,为其注册服务器别名
(在连接端配置,比如,在订阅服务器上配置的话,服务器名称中输入的是发布服务器的IP)
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号
正式开始:
1.配置发布服务器
a. 选中指定 [服务器] 节点
b. 从 [工具] 下拉菜单的 [复制] 子菜单中选择 [发布、订阅服务器和分发] 命令,此时,如果你的服务器名称为"LOCAL"或"."它不会让你操作,解决的办法就是删除注册,重新以计算机名注册.
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. 单击 [完成] 完成订阅操作。
OK,完成以上步骤,没有出现任何错误提示,至少能说明你成功了一半.^_^...那么,还需要做什么呢?恩,是的,配置好了,我怎么检查是否成功了?如下:
展开复制监视器下面的—发布服务器——右键发布属性—状态. 然后点->立即运行代理程序->接着点"代理程序属性"->击活"调度"
把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。
到D:\PUB\UNC下查看是否有一些以时间做为文件名的文件夹差不多一分中就产生一个?
如果看到了, 那么,Congratulation!
注意事项:
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® SQL Server™ 的本地服务器名称
--具体可以看联机丛书@@SERVERNAME
SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)
--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的
--删除错误的服务器名
EXEC sp_dropserver @server=@servername
--添加正确的服务器名
EXEC sp_addserver @server=@serverproperty_servername, @local='local'
分发服务器
<1>是作为分发数据库宿主并存储历史数据和/或事务以及元数据的服务器。分发服务器的角色根据执行的复制类型而不同。
分享到:
相关推荐
MySQL 数据库同步复制是一种强大的技术,它允许两个或多个数据库实例之间保持数据一致性。这种功能在高可用性、灾难恢复和负载均衡场景中至关重要。在MySQL中,同步复制主要通过主从模式和双机互备模式来实现。 1. ...
在实施数据库同步复制时,还需要考虑以下关键点: - **网络延迟**:同步复制可能导致额外的网络负担,因此网络带宽和延迟是需要考虑的关键因素。 - **性能影响**:同步复制可能会影响主数据库的性能,因此需要进行...
Oracle数据库同步技术是确保数据在多个数据库之间保持一致的重要手段,尤其在分布式系统或灾难恢复策略中发挥着关键作用。Oracle提供了多种内置的数据同步解决方案,包括DataGuard、Streams、Advanced Replication...
分布式数据库数据复制技术是指在分布式数据库系统中,数据在多个物理位置上的副本同步更新的过程。该技术是实现分布式数据库性能提升和高可用性的重要手段。在本篇文献中,作者许伟涛详细探讨了分布式数据库数据复制...
总的来说,数据库同步是一个复杂但至关重要的主题,它不仅涉及技术实现,还包括业务连续性、数据一致性及性能优化等多个方面。在SQL Server环境中,理解并掌握各种同步方法和技术对于确保数据的完整性和可用性至关...
### WinCC与SQL Server数据库同步实现 #### 一、引言 在现代工业自动化领域,数据的实时性和一致性显得尤为重要。对于使用WinCC (Windows Control Center) 的应用场景来说,能够实现多个站点之间的数据同步是非常...
SQL Server 2000中的同步主要基于复制技术。复制是指将数据从一个源(发布者)传送到一个或多个目标(订阅者)的过程。这个过程可以是实时的,也可以是周期性的。复制系统通常包含三个主要组件:发布者(Publisher)...
综上所述,数据库同步工具是保障数据一致性和可用性的重要手段,它结合了技术如增量同步和更新同步,通过精心设计的工具和策略来实现高效且可靠的数据迁移和复制。对于IT专业人士来说,理解和掌握这类工具的使用是至...
数据库同步复制的步骤通常包括: 1. 确保两台数据库可以互相访问,通过编辑`tnsnames.ora`文件设置数据库连接字符串,并使用`tnsping`命令测试连通性。 2. 修改数据库的全局名称,创建公共的数据库链接,以便在不同...
综上所述,"数据库同步工具(跨平台)"是一个涵盖多种技术领域的重要工具,其功能强大,适应性强,对于维护数据的一致性和可靠性具有重要意义。选择合适的数据库同步工具,结合实际业务需求进行配置和优化,可以极大...
本节主要分析了两种常见的数据库同步技术:存储复制技术和数据库复制技术。 1.1 存储复制技术 存储复制技术主要依赖于存储阵列的数据块复制功能,分为同步和异步两种方式。同步复制确保主、备中心的数据实时一致,...
在IT行业中,数据库同步是一个重要的任务,特别是在分布式系统和大数据环境中。"跨数据库同步数据"这一主题涉及到如何在不同的数据库之间有效地迁移和更新信息,确保数据的一致性和完整性。在这个过程中,工具和技术...
综上所述,"C# Access数据库同步 服务端"项目涵盖了C#编程、数据库管理、服务端开发以及数据同步策略等多个技术领域,是构建高效、可靠的分布式数据库系统的关键组成部分。开发者需要理解这些概念,并能够灵活运用到...
Oracle ADG(Active Data Guard)同步复制技术是Oracle数据库系统中的高级高可用性和灾难恢复解决方案。ADG通过在远程位置创建并保持与生产数据库同步的物理副本,确保关键业务数据的安全性和连续性。白皮书《Best ...
数据库同步软件7.5.1是一款专为数据库管理和保护设计的高效工具,它集成了自动定时备份功能,能够有效地帮助用户确保数据的安全性和完整性。针对MySQL和SQL Server这两种广泛使用的数据库系统,该软件提供了定制化的...
在Java中,实现多数据库同步的方法有很多,以下是一些常用的技术和策略: 1. **触发器和存储过程**:在每个数据库中设置触发器,当数据发生变化时,触发器会调用存储过程,将更改发送到其他数据库。然而,这种方法...