前言:
此文不具备典型性,肯定有很多不足之处,欢迎指正!
复制(快照)技术实例演示:
1) 发布服务器A和订阅服务器B:
配置之前,A、B服务器都需要做好如下工作:
a.关闭防火墙,卸载相关杀毒软件,
b.开启sql服务器远程连接功能,
c.在配置管理器中网络协议配置中,开启tcp/ip协议,外围配置中开允许tcp/ip连接,
d.服务器设置为混合登陆模式,配置好登陆账户名和密码,开启代理服务器sql agent
e.服务器A上在运行中输入cmd,ip 服务器B的ip,必须保证能拼通
服务器B上在运行中输入cmd,ip 服务器A的ip,最好保证能拼通(不过在实践中发现,订阅服务器所在计算机不能拼通发布服务器,并没有影响最终的订阅成功,这个估计是由于订阅服务器本身不需要发送数据给发布服务器的缘故)
f.发布服务器和分发服务器具有相同网关
2)服务器说明:
发布服务器(A)和订阅服务器(B)sql版本相同,各自信息如下:
Microsoft SQL Server 2005- 9.00.1399.06 (X64)
Oct 14 2005 00:35:21
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 (Build 7601: ServicePack 1)
Microsoft SQL Server 2005- 9.00.1399.06 (X86)
Oct 14 2005 00:35:21
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition (32-bit) on Windows NT 6.1 (Build 7601: ServicePack 1)
步骤:
在发布服务器上有一数据库stuinfo,有表student,此处演示发布表student
--该表结构和部分数据如下:
/*
sno sname ssex sage sdept
0611101 李勇 男 21 计算机系
0611102 刘晨 男 22 计算机系
0611103 王敏 女 22 计算机系
0611104 张小红 女 22 计算机系
0621101 张立 男 22 信息管理
*/
在对象资源管理器中找到复制->本地发布 右击新建发布
此处如果测试中要看实时效果,建议可以设置为每1分钟发布一次,这样的频率会很快在订阅服务器看到相关数据
至此发布工作就已经做好了
然后就只在服务器B上进行对发布数据的订阅工作
--订阅做好后,在订阅服务器B中的stuinfo数据库下将会出现表student
可以新建查询
use stuinfo
go
select * from student
即获得了发布服务器A发布的快照
数据结果如下:
0611101 李勇 男 21 计算机系
0611102 刘晨 男 22 计算机系
0611103 王敏 女 22 计算机系
0611104 张小红 女 22 计算机系
0621101 张立 男 22 信息管理
--然后登陆到发布服务器A,新建查询
use stuinfo
go
update student set sage=20 where sage=22
/*
4行受影响
*/
--再次登陆到订阅服务器B的查询分析器中输入
select * from student
数据结果变化如下:
0611101 李勇 男 21 计算机系
0611102 刘晨 男 20 计算机系
0611103 王敏 女 20 计算机系
0611104 张小红 女 20 计算机系
0621101 张立 男 20 信息管理