mssql数据同步实现数据复制的步骤
作者:
需要用到mssql数据同步的朋友可以参考本文和上一篇文章
一 配置发布服务器
在发布服务器上执行以下步骤:
(1) 从[工具]下拉菜单的[复制]子菜单中选择[配置发布、订阅服务器和分发]出现配置发布和分发向导
(2) [下一步] 选择分发服务器 可以选择把发布服务器自己作为分发服务器或者其他sql的服务器
(3) [下一步] 设置快照文件夹
一般采用默认\\servername\d$\Program Files\Microsoft SQL Server\MSSQL\ReplData
**(4) [下一步] 自定义配置
可以选择:
是,让我设置分发数据库属性启用发布服务器或设置发布设置
否,使用下列默认设置
建议采用自定义设置
(5) [下一步] 设置分发数据库名称和位置 采用默认值
(6) [下一步] 启用发布服务器 选择作为发布的服务器
(7) [下一步] 选择需要发布的数据库和发布类型
(8) [下一步] 选择注册订阅服务器
(9) [下一步] 完成配置
二 创建出版物
发布服务器上
(1)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令
(2)选择要创建出版物的数据库,然后单击[创建发布]
(3)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。
对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)
(4)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,
SQLSERVER允许在不同的数据库如 ORACLE或ACCESS之间进行数据复制。
但是在这里我们选择运行"SQL SERVER 2000"的数据库服务器
(5)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表
注意: 如果前面选择了事务发布 则再这一步中只能选择带有主键的表
(6)选择发布名称和描述
**(7)自定义发布属性
向导提供的选择:
是 我将自定义数据筛选,启用匿名订阅和或其他自定义属性
否 根据指定方式创建发布
建议采用自定义的方式
(8)[下一步] 选择筛选发布的方式
(9)[下一步] 可以选择是否允许匿名订阅
1)如果选择署名订阅,则需要在发布服务器上添加订阅服务器
方法: [工具]->[复制]->[配置发布、订阅服务器和分发的属性]->[订阅服务器] 中添加
否则在订阅服务器上请求订阅时会出现的提示:改发布不允许匿名订阅
如果仍然需要匿名订阅则用以下解决办法
[企业管理器]->[复制]->[发布内容]->[属性]->[订阅选项] 选择允许匿名请求订阅
2)如果选择匿名订阅,则配置订阅服务器时不会出现以上提示
(10)[下一步] 设置快照 代理程序调度
(11)[下一步] 完成配置
当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。
三 订阅服务器的配置
(一) 强制订阅的配置
在发布服务器上
[企业管理器]->[复制]->[发布内容]->[属性]->[订阅]->[强制新建]
然后出现强制订阅向导
选择订阅服务器->订阅数据库名->设置分发代理程序调度->初始化订阅->启动要求的服务
(发布服务器的agent要启动)->完成即可
(二) 请求订阅的配置
订阅服务器上执行以下操作
(1) 从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]
(2) 选择[请求新订阅] 打开请求订阅向导
(3) [下一步]选择已注册的发布
(4) [下一步]选择创建订阅的数据库
(5) [下一步]选择匿名订阅或署名订阅
(6) [下一步] 初始化订阅 选择初始化架构和数据
(7) [下一步]选择快照文件的存放位置 一般采用发布服务器的默认快照文件夹
**(8) [下一步]设置分发代理程序调度 可以选择订阅更新内容的间隔
(9) [下一步]系统会提示检查发布服务器的代理服务的运行状态
(10) [下一步] 完成配置
介绍实现复制的步骤。(以快照复制为例)
测试环境:
两台SQL Server 2000服务器A和B,将A配置为发布和分发服务器,B配置为订阅服务器
要发布的数据库为db_test,要发布的出版物为表tb_test
以下步骤在A上完成
1.新建一个共享目录,做为发布的快照文件的存放目录,路径为D:\RData,共享名为RData
2.设置SQL代理(SQLSERVERAGENT)服务的启动用户
开始--程序--管理工具--服务
--右键SQLSERVERAGENT
--属性--登陆--选择"此账户"
--输入".\Administrator",或者选择其他系统管理员
--"密码"中输入该用户的密码
3.设置SQL Server身份验证模式,解决连接时的权限问题
企业管理器
--右键SQL实例--属性
--安全性--身份验证
--选择"SQL Server 和 Windows"
--确定
4.在发布服务器和订阅服务器上互相注册
企业管理器
--右键SQL Server组
--新建SQL Server注册...
--下一步--可用的服务器中,输入你要注册的远程服务器名 --添加
--下一步--连接使用,选择第二个"SQL Server身份验证"
--下一步--输入用户名和密码
--下一步--选择SQL Server组,也可以创建一个新组
--下一步--完成
正式开始:
1.配置发布服务器
a. 选中指定 [服务器] 节点
b. 从 [工具] 下拉菜单的 [复制] 子菜单中选择 [发布、订阅服务器和分发] 命令
c. 系统弹出一个对话框点 [下一步] 然后看着提示操作
--直到"指定快照文件夹"
--在"快照文件夹"中输入准备工作中创建的目录: \\A\RData
一[下一步] 直操作到完成。
d. 当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器
同时也生成一个分发数据库(distribution)
2.创建发布
a. 选中指定的服务器
b. 从 [工具] 菜单的 [复制] 子菜单中选择 [创建和管理发布] 命令。此时系统会弹出
一个对话框
c. 选择数据库db_test,然后单击 [创建发布]
d. 在 [创建发布向导] 的提示对话框中单击 [下一步] 系统就会弹出一个对话框。对话
框上的内容是复制的三个类型。选第一个快照发布
e. 单击 [下一步] 系统要求指定可以订阅该发布的数据库服务器类型,选择运行
"SQL SERVER 2000"的数据库服务器
f. 单击 [下一步] ,选择要发布的对象tb_test
g. 然后 [下一步] 直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了
一个共享数据库。
---------------------------------------------------------------------------
3.设计订阅
订阅方式有两种:强制订阅与请求订阅
下面是强制订阅的步骤:
企业管理器
--复制
--发布内容
--右键刚才生成的出版物
--选择强制新订阅,打开欢迎使用强制订阅向导,单击 [下一步]
--选择服务器B,单击 [下一步]
--在"订阅数据库名称"中输入db_test,单击 [下一步]
--此时可对订阅进行调度,单击 [下一步]
--剩下的步骤 单击 [下一步],直至[完成]
下面是请求订阅的步骤,
a. 选中指定的订阅服务器B
b. 从 [工具] 下拉菜单中选择 [复制] 子菜单的 [请求订阅]
c. 按照提示单击 [下一步] 操作直到系统会提示检查SQL SERVER代理服务的运行状态,执行
复制操作的前提条件是SQL SERVER代理服务必须已经启动。
d. 单击 [完成] 完成订阅操作。
如何检测配置是否成功:
1、展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调 度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。
2、查看D:\Rdata目录下是否多出unc目录
3、打开B上订阅数据库,是否多出了订阅表tb_test
在发布服务器上执行以下步骤:
(1) 从[工具]下拉菜单的[复制]子菜单中选择[配置发布、订阅服务器和分发]出现配置发布和分发向导
(2) [下一步] 选择分发服务器 可以选择把发布服务器自己作为分发服务器或者其他sql的服务器
(3) [下一步] 设置快照文件夹
一般采用默认\\servername\d$\Program Files\Microsoft SQL Server\MSSQL\ReplData
**(4) [下一步] 自定义配置
可以选择:
是,让我设置分发数据库属性启用发布服务器或设置发布设置
否,使用下列默认设置
建议采用自定义设置
(5) [下一步] 设置分发数据库名称和位置 采用默认值
(6) [下一步] 启用发布服务器 选择作为发布的服务器
(7) [下一步] 选择需要发布的数据库和发布类型
(8) [下一步] 选择注册订阅服务器
(9) [下一步] 完成配置
二 创建出版物
发布服务器上
(1)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令
(2)选择要创建出版物的数据库,然后单击[创建发布]
(3)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。
对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)
(4)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,
SQLSERVER允许在不同的数据库如 ORACLE或ACCESS之间进行数据复制。
但是在这里我们选择运行"SQL SERVER 2000"的数据库服务器
(5)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表
注意: 如果前面选择了事务发布 则再这一步中只能选择带有主键的表
(6)选择发布名称和描述
**(7)自定义发布属性
向导提供的选择:
是 我将自定义数据筛选,启用匿名订阅和或其他自定义属性
否 根据指定方式创建发布
建议采用自定义的方式
(8)[下一步] 选择筛选发布的方式
(9)[下一步] 可以选择是否允许匿名订阅
1)如果选择署名订阅,则需要在发布服务器上添加订阅服务器
方法: [工具]->[复制]->[配置发布、订阅服务器和分发的属性]->[订阅服务器] 中添加
否则在订阅服务器上请求订阅时会出现的提示:改发布不允许匿名订阅
如果仍然需要匿名订阅则用以下解决办法
[企业管理器]->[复制]->[发布内容]->[属性]->[订阅选项] 选择允许匿名请求订阅
2)如果选择匿名订阅,则配置订阅服务器时不会出现以上提示
(10)[下一步] 设置快照 代理程序调度
(11)[下一步] 完成配置
当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。
三 订阅服务器的配置
(一) 强制订阅的配置
在发布服务器上
[企业管理器]->[复制]->[发布内容]->[属性]->[订阅]->[强制新建]
然后出现强制订阅向导
选择订阅服务器->订阅数据库名->设置分发代理程序调度->初始化订阅->启动要求的服务
(发布服务器的agent要启动)->完成即可
(二) 请求订阅的配置
订阅服务器上执行以下操作
(1) 从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]
(2) 选择[请求新订阅] 打开请求订阅向导
(3) [下一步]选择已注册的发布
(4) [下一步]选择创建订阅的数据库
(5) [下一步]选择匿名订阅或署名订阅
(6) [下一步] 初始化订阅 选择初始化架构和数据
(7) [下一步]选择快照文件的存放位置 一般采用发布服务器的默认快照文件夹
**(8) [下一步]设置分发代理程序调度 可以选择订阅更新内容的间隔
(9) [下一步]系统会提示检查发布服务器的代理服务的运行状态
(10) [下一步] 完成配置
介绍实现复制的步骤。(以快照复制为例)
测试环境:
两台SQL Server 2000服务器A和B,将A配置为发布和分发服务器,B配置为订阅服务器
要发布的数据库为db_test,要发布的出版物为表tb_test
以下步骤在A上完成
1.新建一个共享目录,做为发布的快照文件的存放目录,路径为D:\RData,共享名为RData
2.设置SQL代理(SQLSERVERAGENT)服务的启动用户
开始--程序--管理工具--服务
--右键SQLSERVERAGENT
--属性--登陆--选择"此账户"
--输入".\Administrator",或者选择其他系统管理员
--"密码"中输入该用户的密码
3.设置SQL Server身份验证模式,解决连接时的权限问题
企业管理器
--右键SQL实例--属性
--安全性--身份验证
--选择"SQL Server 和 Windows"
--确定
4.在发布服务器和订阅服务器上互相注册
企业管理器
--右键SQL Server组
--新建SQL Server注册...
--下一步--可用的服务器中,输入你要注册的远程服务器名 --添加
--下一步--连接使用,选择第二个"SQL Server身份验证"
--下一步--输入用户名和密码
--下一步--选择SQL Server组,也可以创建一个新组
--下一步--完成
正式开始:
1.配置发布服务器
a. 选中指定 [服务器] 节点
b. 从 [工具] 下拉菜单的 [复制] 子菜单中选择 [发布、订阅服务器和分发] 命令
c. 系统弹出一个对话框点 [下一步] 然后看着提示操作
--直到"指定快照文件夹"
--在"快照文件夹"中输入准备工作中创建的目录: \\A\RData
一[下一步] 直操作到完成。
d. 当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器
同时也生成一个分发数据库(distribution)
2.创建发布
a. 选中指定的服务器
b. 从 [工具] 菜单的 [复制] 子菜单中选择 [创建和管理发布] 命令。此时系统会弹出
一个对话框
c. 选择数据库db_test,然后单击 [创建发布]
d. 在 [创建发布向导] 的提示对话框中单击 [下一步] 系统就会弹出一个对话框。对话
框上的内容是复制的三个类型。选第一个快照发布
e. 单击 [下一步] 系统要求指定可以订阅该发布的数据库服务器类型,选择运行
"SQL SERVER 2000"的数据库服务器
f. 单击 [下一步] ,选择要发布的对象tb_test
g. 然后 [下一步] 直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了
一个共享数据库。
---------------------------------------------------------------------------
3.设计订阅
订阅方式有两种:强制订阅与请求订阅
下面是强制订阅的步骤:
企业管理器
--复制
--发布内容
--右键刚才生成的出版物
--选择强制新订阅,打开欢迎使用强制订阅向导,单击 [下一步]
--选择服务器B,单击 [下一步]
--在"订阅数据库名称"中输入db_test,单击 [下一步]
--此时可对订阅进行调度,单击 [下一步]
--剩下的步骤 单击 [下一步],直至[完成]
下面是请求订阅的步骤,
a. 选中指定的订阅服务器B
b. 从 [工具] 下拉菜单中选择 [复制] 子菜单的 [请求订阅]
c. 按照提示单击 [下一步] 操作直到系统会提示检查SQL SERVER代理服务的运行状态,执行
复制操作的前提条件是SQL SERVER代理服务必须已经启动。
d. 单击 [完成] 完成订阅操作。
如何检测配置是否成功:
1、展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调 度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。
2、查看D:\Rdata目录下是否多出unc目录
3、打开B上订阅数据库,是否多出了订阅表tb_test