使用SQL Server的发布与订阅可以将一个数据库的数据实时传送到另一个数据库中,使用这种方式与Link Server相比可以减少对数据库的连接次数。下面介绍SQL Server 2008R2发布与订阅时最基本的配置。
首先在发布服务器创建发布,注意不论创建发布还是订阅都要用机器名登录,而不能用IP地址或.等替代符。
1.在Replication-->Local Publications处右键单击选择New Publication弹出如下向导。
2.选择要创建发布的数据库。
3.选择要创建发布的类型。本例选择Transactional Publication,这种发布方式可以实时同步数据到订阅数据库,延时较小。
4.选择要发布的数据库对象,数据库对象包括表、视图、存储过程等。
注意当选择Transactional Publication只有有主键的表才可以发布。
5.在本步骤可以选择对表或视图做过滤。
6.定义是否生成一个快照。Transactional Publication在初始时生成一个快照,正式运行后不再重新生成。
7.维护快照运行代理的用户信息。单击Securrity Settings按钮弹出新窗口维护用户信息。
8.输入运行发布代理的用户,需确保该用户有运行代理的权限。
9.输入发布名称,生成发布。
10.如果订阅数据库与发布数据库不在一台服务器,订阅数据库的代理运行账户需对存放快照的目录有读取权限,可以在以下页面修改快照的存放目录为网络目录。
接下来创建订阅
1.在Replication-->Local Subscriptions处右键单击选择New Subscription弹出如下向导。
2.查找发布,选择发布数据库。
3.选择发布。
4.本步骤选择在发布端运行订阅代理还是订阅端运行订阅代理。
下面维护代理运行账户时要根据运行在哪一端来确定用哪一端的账户。对应跨域的情况需特别注意。
5.选择订阅的数据库
6.维护连接发布和订阅代理的用户,单击...按钮弹出维护用户信息页面。
维护用户信息,根据代理运行在哪一端来确定用哪一端的账户。
7.选择订阅的方式,本例选择Run continuously,数据延迟较少。
8.选择是否需对订阅进行初始化。初始化时会在订阅端创建对应的数据库对象,重新导入数据。
9.完成订阅
完成发布与订阅的配置后下面就是监控发布与订阅的运行情况。
在新建的发布上右键单击,在弹出菜单中选择Launch Replication Monitor弹出monitor窗口。
在本窗口中可以看到发布和订阅的运行情况。如果有异常图标中将有红色显示。双击Watch List中的明细可以弹出该明细的详细运行信息。