SQL2000版本 + SP4。
不然和XP同步会出现问题。
发布服务器和订阅服务器 用同一个WINDOWS账户:jl 密码:jl。并设置为管理员组。在SQL2000里用这个登录。
D盘设置一个文件夹PUB,并共享。权限为JL。如果是2003R2,打开-服务-server文件共享服务。注册的时候注意修改为用计算机名。因为SQL安装自动设置为.或者LOCAL。这样不能发布服务。
如果要添加发布的表。在发布属性-项目-选择未发布项目。就会出现其他的表。
发布属性-访问列表注意-添加jl管理员到这里。不然访问不了,提示没有权限。
发布服务器设置;
右键 发布属性-状态-查看。设置为每分钟发布。间隔推送时间。
订阅服务器也要设置:
时间间隔。
计算机-服务里打开 SQLSERVERAGENT。需要这个服务实现订阅。服务器都要打开。并用jl这个用户登录。
为什么要同步SQL Server 2000 数据库,它都用在什么场合
1. 数据实时备份同步,数据库服务器出问题时我们也有其正常工作时的备份
2. 数据实时备份同步,一台服务器负载不起时,可以用来做负载均衡
3. 数据实时备份同步,数据库服务器可以无间断,无损失迁移
4. 主服务器被攻击或当机时另一台服务同步机可以应急
5. 。。。。。可以说好处非常多的。暂时写这么多
SQL Server 2000 数据库同步配置的原理
复制的概念
Microsoft? SQL Server? 2000 的复制是在数据库之间对数据和数据库对象进行复制
和分发并进行同步以确保其一致性的一组技术。
使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通过 Internet 分
发给远程或移动用户。复制还能够使用户提高应用程序性能,根据数据的使用方式物理
分隔数据(例如,将联机事务处理 (OLTP) 和决策支持系统分开),或者跨越多个服务
器分布数据库处理。
---------------------------------------------------------------------------
SQL复制的基本元素包括
发布服务器、订阅服务器、分发服务器、发布、项目
发布服务器
发布服务器是提供数据以便复制到其它服务器的服务器。发布服务器可以具有一个或多个
发布,每个发布代表一组逻辑相关的数据。除了指定其中哪些数据需要复制之外,发布服
务器还检测事务复制期间发生更改的数据并维护有关此站点上所有发布的信息。
分发服务器
分发服务器是作为分发数据库宿主并存储历史数据和/或事务以及元数据的服务器。分发
服务器的角色根据执行的复制类型而不同。有关更多信息,请参见复制类型。
远程分发服务器是独立于发布服务器并配置为复制的分发服务器的服务器。本地分发服务
器是既配置为复制的发布服务器又配置为复制的分发服务器的服务器。
订阅服务器
订阅服务器是接收复制数据的服务器。订阅服务器订阅的是发布而不是发布中分离的项目;
并且订阅服务器只订阅其需要的发布,而不是发布服务器上所有可用的发布。根据复制的类
型和所选择的复制选项,订阅服务器还可以将数据更改传播回发布服务器或将数据重新发布
到其它订阅服务器。
发布
发布是一个数据库中的一个或多个项目的集合。这种多个项目的分组使得指定逻辑相关的一
组数据和数据库对象以一起复制变得更容易。
项目
项目是指定要复制的数据表、数据分区或数据库对象。项目可以是完整的表、某几列(使用垂
直筛选)、某几行(使用水平筛选)、存储过程或视图定义、存储过程的执行、视图、索引视图
或用户定义函数。
订阅
订阅是对数据或数据库对象的复本的请求。订阅定义将接收的发布和接收的时间、地点。订阅的
同步或数据分发可以由发布服务器(强制订阅)或订阅服务器(请求订阅)请求。发布可以支持
强制订阅和请求订阅的混合。
---------------------------------------------------------------------------
SQL复制的工作原理
SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务
器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器
分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些
改变分发给订阅服务器
SQL Server 2000 数据库同步配置
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身份验证"
--下一步--输入用户名和密码(一般是sa,密码最好设置一下非常复杂的)
--下一步--选择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下面
看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。
要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表
从0开始一步一步配置SQL Server 2000 数据库同步,非常细
首先,一般情况下数据库安装好后,在企业管理器里看到的sql注册是(local)(Windows NT),
SQL Server 复制不支持昵称,例如使用“.”或“(local)”作为服务器名。
删除该服务器的 SQL Server 注册并使用实际的服务器名对它进行注册。
我把先把这个删除,右击他,选择删除sql server 注册 。。然后新建注册,右击Sql server组,新建Sql server 注册 下一步--》可用的服务器里有你的计算机名,点中间的添加,添加到“添加的服务器里”--下一步--》下一步--》下一步--》完成
单击刚刚以计算机名建好的sql server 注册,以选中它--》工具--》复制--》配置发布、订阅服务器和分发。。。--》下一步--》下一步--》出现“SEOGIRL”上的 SQL Server 代理当前在使用系统帐户,它会导致服务器之间的复制失败。在下列对话框中,为服务启动帐户另外指定一个帐户。--》确定,选择“本帐户”(这时进入系统新建一个帐户比如SQL120),用户名输入"SEOGIRL\SQL120",输入密码,确定,出现:所做的一个或多个更改只有在 SQL Server 代理重新启动后才会生效。现在要停止并重新启动 SQL Server 代理吗?,确定,确定,--》下一步--》下一步--》快照文件夹路径“\\SEOGIRL\D$\Program Files\Microsoft SQL Server\MSSQL\ReplData”使用特殊的共享名称,该名称通常只能由在计算机“SEOGIRL”上有管理权限的登录访问。此共享可能不能由在其它计算机上运行的代理程序访问,例如请求订阅的代理程序。
确实要使用此快照文件夹路径吗?
--》否,因为这个路径是没办法请求订阅的代理程序,咱们建一个文件夹D:\ReplData,在这个文件夹的属性里设置“共享此文件夹”,点击“权限” 设置everyone为完全。--》确定后退出--》返回咱们刚才的“快照文件夹”,在里边 输入“\\SEOGIRL\ReplData”--》下一步--》下一步--》完成--》关闭
打开企业管理器--》选中发布服务器--》工具--》复制--》配置发布、订阅服务器和分发。。。--》下一步--》下一步--》下一步--》否,选择一个快照文件夹位置,\\seogirl\ReplData--》下一步--》--》--》--》--》--》--》--》
“SEOGIRL”上的 SQL Server 代理当前在使用系统帐户,它会导致服务器之间的复制失败。在下列对话框中,为服务启动帐户另外指定一个帐户。
“SEOGIRL”上的 SQL Server 代理使用系统帐户,所以服务器之间的 SQL Server 复制将会失败。若要在服务器之间使用复制,请选择另一个服务器器作为“SEOGIRL”的分发服务器。
“SQL120”不是有效的 Windows NT 名称。请给出完整名称: <域\用户名>。
输入"administrator"时提示以下错误:
错误 15407: 'administrator' 不是有效的 Windows NT 名称。请给出完整名称: <域\用户名>。
系统出现两个选择 一个是 是,将SQL server代理服务配置为自动启动
另一个是 否,我将手工启动 SQL server 代理服务器
然后选那个呢?
我两个都试过了 然后出现快照文件夹
\\XXLJD\F$\Program Files\Microsoft SQL Server\MSSQL\ReplData
系统提示 不是有效的文件名或路径
接下去就弄不了 哪位大哥帮帮忙啊
1。 一个是 是,将SQL server代理服务配置为自动启动
另一个是 否,我将手工启动 SQL server 代理服务器
说明:这个选择是或者否都可以。是:则系统自己启动代理服务器
否:你自己手工的启动代理服务器
这就是区别。
2。
\\XXLJD\F$\Program Files\Microsoft SQL Server\MSSQL\ReplData
系统提示 不是有效的文件名或路径
这样修改:1。创建一个文件夹在ntfs分区上,如:D:\ReplData
2.共享这个文件夹 --右击文件夹-属性-共享
3。同时在相同的界面-有权限-设置为everyone-完全控制的权限
这样就可以了。
4.路径里输入\\计算机名\ReplData
配置SQL Server 2000 数据库同步时的 常见问题
问题:SQL Server 复制不支持昵称,例如使用“.”或“(local)”作为服务器名。
回答:删除该服务器的 SQL Server 注册并使用计算机名进行注册。
问题:“SEOGIRL”上的 SQL Server 代理当前在使用系统帐户,它会导致服务器之间的复制失败。在下列对话框中,为服务启动帐户另外指定一个帐户。
回答:应该先建一个有管理员组权限的帐户,然后用在这。
问题:快照文件夹路径“\\SEOGIRL\D$\Program Files\Microsoft SQL Server\MSSQL\ReplData”使用特殊的共享名称,该名称通常只能由在计算机“SEOGIRL”上有管理权限的登录访问。此共享可能不能由在其它计算机上运行的代理程序访问,例如请求订阅的代理程序。确实要使用此快照文件夹路径吗?
回答:在D盘或你别的盘建一个文件夹如:D:\pub,设为共享,并把上面那个新建 的用户加到这里面设为完全控制,快照路径里写\\计算机名\pub
问题:“SQL120”不是有效的 Windows NT 名称。请给出完整名称: <域\用户名>。
解决:使用:计算机名\用户名。
另一种配置方法
******************************************************************************
我是如何设置的:
1。准备工作
设置一个公用目录并保证2台服务器有权限。
2。右键发布服务器——属性——复制——配置——创建分发服务器,并设定发布服务器和发布数据库,
然后给予订阅服务器权限。
3。依次展开:发布服务器——将要发布的数据库——右键发布内容——新建发布。
4。右键刚刚建立的发布——属性——状态——立即运行代理程序——代理程序属性中设置调度并启动。
4。右键刚刚建立的发布——属性——订阅——强制新建。
有时候会看不到新建立的项目,重新进就可以了。
--------------------------------------------------------------------------------
经过测试,可以顺利实现数据库结构的初始化和数据的单向同步(也就是订阅服务器的数据可以及时更新为发布服务器的数据)。
准备工作:
>>数据的同步中主要考虑的三部分,可以理解成三台主机。发布服务器,分发服务器和订阅服务器;可以从字面的意思理解,要实现的功能实际就是让订阅服务器通过分发服务器保持数据及时地和发布服务器上的数据一致。整个执行过程是这样一来的:
a.订阅服务器应该有个初始化,一般来说我们开始做这个同步任务的时候,发布服务器已经有了相当的数据量了,而我们的订阅服务器应该是新建的服务。即使发布中没有数据,也需要把他的数据库结构初始化到订阅服务器上。
b. 我采用的是事物复制,发布服务器的数据发生变化后,相当于触发了一个更新操作,而事物复制可以在设定的时间把数据更新的操作更新到订阅服务器中去。当然, 这个操作需要经过分发服务器。在我的测试中,我是把发布服务器和分发服务器设置为同一台主机,可以顺利实现数据在数分钟内同步。
> >在操作的起始,需要考虑订阅服务器是否有和发布服务器相同结构的数据库,如果有,需要做的就是使用代理把发布服务器现有的数据初始化过去;如果没 有对应的相同结构的数据库,就需要要把发布服务器当前的数据库结构和当前的数据都初始化到订阅服务器中。当然这里所说的操作都是在下面的实施步骤中实现, 不需要单独处理。
>>如果说对Windows系统有所要求的话,就应该保证这三个服务器(发布,分发,订阅)在同个域中,以同一个域管理员帐号身份运行,操作如下:
a.进入相应的服务器,控制面板->服务->SQLSERVERAGENT,设置登录,三台服务器同样设置。
b.操作前,也不允许这三台服务器对应的别名使用呢称,比如"LOCAL",这样的别名要删除重建,可以采用主机名,比如:server02.
下面开始执行数据库同步的操作:
>>配置发布服务器和分发服务器:
a.选中对应服务器的注册名->工具->复制->配置发布、订阅和分发,直接按照默认设置向下执行,直到完成。关闭。
b. 再一次选中这个服务器服务器的注册名->工具->复制->配置发布、订阅和分发,可以看到这次界面和步骤a中的界面有所不同,我们只需 要配置一下 发布服务器,发布数据库,订阅服务器。(我的发布数据库采用的是事物性的)。点“确定”完成操作。<标记P>
> >创建发布,可以选中相应的注册,用工具->复制->创建和管理发布或者在该注册下面的 复制->发布内容 选中后,在右边空白处,右键,新建发布,来创建你的发布。我选择的是事物发布,按照默认设置,选择你要发布的表或其他对象,其他地方不需要修改,直到完成 操作。
>>修改发布属性:选择“状态”->立即运行代理程序;代理程序属性->设置你的调度,比如一分钟一次。(调度->编辑 ->更改;通知->写入windows应用程序事件日志),"确定"完成操作。
>>创建订阅:选择发布服务器对应的注册,复制->发布内容->在这个内容上右键,强制新订阅,->"下一步",选择订阅服务器(在标记P那一步选择的订阅服务器)->“下一步”->选择你有的数据库,或者新建一个数据库
->"下一步"-> 修改你需要的调度->按照默认设置,直到完成。
到 这里就可以完成了,修改发布服务器数据库中的内容,等一两分钟,数据就同步到订阅服务器中了。不过由于第一次执行需要快照,如果发布库中有一定的内容,第 一次执行可能需要几分钟时间。如果数据不能同步过去,大家是调度设置时间太短(比如1分钟)使快照不能完成,所以后面的步骤无法执行,遇到这样的情况的 话,
选中你发布的内容,设置属性,在“状态”中“立即运行代理程序”,这样的话,数据会马上同步过去的。
分享到:
相关推荐
通过以上步骤,你可以实现SQL Server 2000中的订阅与发布,从而实现在不同服务器之间的数据同步。这种同步机制对于保持多点数据一致性、提高数据可用性和扩展数据库系统的容错能力具有重要意义。
- 配置数据库同步:通过在数据库A上创建相同的数据库结构(库和表),并使用SQL Server的备份和恢复功能确保两台服务器上的数据同步。 - 配置Host文件:将两台数据库服务器的IP和主机名解析信息写入各自的Host文件...
本文将详细介绍如何在两台SQL Server之间实现数据同步,包括复制的基本概念、工作原理以及具体的实现步骤。 #### 二、复制的概念与基本元素 **复制**是一种将一组数据从一个数据源(通常称为“出版服务器”)复制到...
在本文中,我们将讨论两台SQL Server数据同步解决方案的概念和实现步骤。数据同步是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用数据同步技术,用户可以将一份...
通过上述步骤,我们可以成功地实现两台服务器之间基于 SQL Server 的数据同步。这种技术不仅能够提高数据的一致性,还能有效提升系统的可靠性和可用性。对于需要在多个地点之间共享数据的企业来说,利用 SQL Server ...
SQL Server 2005的订阅复制同步功能是一种强大的数据分发机制,它允许数据从一个或多个发布服务器分发到多个订阅服务器,以实现数据的实时或定期更新,确保多台服务器间的数据一致性。在本实例中,我们将探讨如何...
3. **用户与权限配置**: 首先,需要在两台服务器上创建具有管理员权限的相同用户,然后更改 `mssqlserver` 和 `SQLSERVERAGENT` 服务的登录账户为这个新用户,确保它们都处于自动启动状态。安全设置应选择 "SQL ...
假设已经在两台服务器上建立了相同的数据库结构,并完成了上述的发布和订阅配置。现在,我们可以通过以下步骤测试数据同步的效果: 1. **发布快照文件的有效访问用户**:创建一个Windows用户,并赋予管理员权限。 2...
1. 在两台服务器上安装好 SQL Server 2008 R2,主要安装的组件包括 Database Engine(含 SQL Server Replication)、Management Tools,并且启动 Sql Server 代理(发布服务器和订阅服务器均设置)。 2. 主数据库...
### SQL Server 2008 数据库同步的两种方式(发布、订阅) #### 一、概述 在数据库管理中,为了实现数据的一致性和高可用性,常常需要对多个数据库实例进行同步处理。SQL Server 2008 提供了多种数据库同步方案,...
在开始配置发布和订阅之前,确保两台服务器(发布服务器A和订阅服务器B)能够正常通信。这意味着网络连接需畅通无阻,同时,Sql Server和Sql Server Agent服务要在两台服务器上启动并设置为开机自启。Sql Server ...
《在局域网内有两台服务器》可能探讨了网络环境对复制的影响。《SQL 2000 同步过程》和《SQLServer2000同步复制技术实现步骤》将深入解析整个同步流程,包括可能出现的问题和解决方法。 总之,SQL Server 2000的...
接下来,需在两台服务器上进行以下操作: 1. **创建管理员用户**:在用户管理界面中,新建一个属于administrator组的用户,用于后续的服务账户设置。建议两台服务器上创建的用户名称和密码保持一致,以简化后续操作...
本教程主要涉及如何在SQL Server 2005环境下实现两台服务器之间的数据库同步。以下是对整个过程的详细说明: 首先,测试环境的搭建至关重要。在这个例子中,两台服务器A(发布机)和B(订阅机)都是运行Windows ...
通过这些步骤,可以在两台服务器之间实现高效且可靠的数据库同步,保障数据一致性,尤其适用于需要高可用性和灾难恢复的场景。同时,本教程还表明了表没有主键不会妨碍同步过程,为实际操作提供了灵活的解决方案。
### WinCC与SQL Server数据库同步实现 #### 一、引言 在现代工业自动化领域,数据的实时性和一致性显得尤为重要。对于使用WinCC (Windows Control Center) 的应用场景来说,能够实现多个站点之间的数据同步是非常...
在现代企业级应用中,为了确保数据的高度可用性和容错性,通常需要在两台或多台SQL Server之间实现数据同步。本文将详细介绍一种实用的数据同步解决方案,旨在帮助读者理解SQL Server复制的核心概念及其实施步骤。 ...
实现SQL Server 2000 数据库同步的步骤通常涉及设置发布、配置分发、创建订阅以及安排同步任务。配置过程中需要考虑安全设置,如使用特定的Windows用户进行权限控制,以及设置SQL Server Agent服务以正确身份运行。...
本文将详细介绍如何在SQL Server 2008环境下实现A、B两台服务器间的数据同步备份功能,具体采用的是事务复制的方式。 #### 二、创建发布服务器 1. **打开SQL Server 2008配置管理器**:首先,需要通过“开始”菜单...