本文主要是介绍SQL Server2005 实现两台服务器上的数据库同步,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 测试环境:
Item | 发布机 A | 订阅机 B |
OS | Windows 2003 Server | Windows 2003 Server |
SQL | SQL Server 2005 企业版 | SQL Server 2005 企业版 |
域 | 无 | 无 |
IP | 192.168.203.1 | 192.168.203.136 |
机器名 | Alex | VM-WIN2003-B |
工作组 | Workgroup | Workgroup |
|
|
|
2. 发布机 A 配置
在“开始”菜单中,找到 Microsoft SQL Server 2005=>Configuration Tools=> SQL Server Configuration Manager
配置SQL Server Agent (MSSQLSERVER)属性
Tab[LogOn]
This Account:
需要是Administrators组成员
测试时直接使用了 Administrator 用户
打开SQL Server Management Studio
打开Server Properties
配置Server Authentication
3. 订阅机 B 配置
同发布机操作
4. 注册服务器
SQL Server Management Studio
FileMenu=>View=>Registered Servers
图为 在发布机A 上注册订阅机 B
订阅机B 上也相同注册一下 A
如果无法注册机器名:
修改本机 Host文件
192.168.203.1 Alex (发布机)
192.168.203.136 VM-WIN2003-B (订阅机)
如果修改Host 文件,看email 中附件工具 HostEdit
5. 设置发布JOB
在发布机A 上新建一个数据库 Test_Pub
然后运行以后script
SET ANSI_NULLSON GO SET QUOTED_IDENTIFIERON GO IF NOTEXISTS (SELECT* FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Test]')AND type in (N'U')) BEGIN CREATE TABLE [dbo].[Test]( [ID] [int] IDENTITY(1,1)NOT NULL, [Test] [varchar](50)NULL, CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH(PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)ON [PRIMARY] ) ON [PRIMARY] END
|
数据库Test_Pub 中生成表 Test ,用于验证测试
6. 设置订阅 JOB
在订阅机B中新建一个 数据库 Test_Sub 就可以
运行 Test 表的script
7. 测试发布和订阅
在 C: 建立一个 SQL.Sync共享目录 ,可以让订阅机 B可以访问到
subscription properties
注意:
4.Snapshot
注册看 C:\SQL.Sync
分别建立一个查询分析器,如图
发布机A的数据变化,会自动更新到订阅机B上
提示:
如果测试还是不成功。
选择Replication=>Local Publications=> [Test_Pub]: Test_Pub
Launch Replication Monitor 可以查看运行中的状态,并且 可以相关提示来debug
这篇关于SQL Server2005 实现两台服务器上的数据库同步的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!