发布&订阅
1. 测试环境:
Item | 发布机 A | 订阅机 B |
OS | Windows 2003 Server | Windows 2003 Server |
SQL | SQL Server 2005 企业版 | SQL Server 2005 企业版 |
域 | 无 | 无 |
IP | 69.64.83.81 | 220.231.180.119 |
机器名 | Alex | VM-WIN2003-B |
SQL端口 | 2433 | 1433 |
|
|
|
2. 准备工作(所有截图来自网上, 只供参考):
2.1 A,B 机创建相同的windows用户,这里创建了demo用户,并隶属于Administrator组.
2.2 打开(A,B机) SQL Server Configuration Manager配置SQL Server Agent (MSSQLSERVER)属性,选择“本帐户”=》将“步骤1”里创建的windows用户(demo)和密码输入,启用服务,保存.
2.3 检查A,B服务器的SQL server 是否开放远程访问及访问端口是否相同。(这里为了安全我将端口改成2433,两台服务器一致)
2.4 A,B服务器相互添加 ”已注册的服务器”.
如果两台服务器没有相应的域名,请先在SQL Server Configuration Manager配置中添加别名:SQL Native Client配置 => 别名 => 新建别名。别名最好是与SQL服务器名相同,可以通过执行下SQL知道SQL服务器真实名称。
如果以上两个的结果不一样说明之前改过机器名,执行下面语句纠正:
重启一下SQL 服务器,@@servername 就是SQL服务器真实的名称.
2.5 检查防火墙是否阻止SQL 端口 (当前为2433)
2.6 在 SQL Server 中创建名字为USA_User和SZ_User的系统用户登陆名,作为发布数据库的拥有者(设置为dbo_owner 和public),两台机器都要设置。
3. 设置发布服务器(所有截图来自网上, 只供参考)。
这里推荐Windows帐户选择第一个(用户名:Alex/demo 及密码);连接到发布数据库:用2.6中发布数据库的帐号和密码。
新建完这个发布后,在sql server management 中选中刚刚建立的发布实例— 右键---属性---点击快照—将快照文件夹设置为前面指定的共享文件夹注意:如果是推送发布可以使用绝对路径如D:/pub,但是如果要使用订阅发布要使用网络相对路径,如://hp520/D$/pub,否则会导致订阅服务器找不到快照文件夹,同时该文件夹要给定 2.1 中设定的windows帐户读写权限。
4. 设置订阅
我这一步选的是第一个(推),由服务器推向订阅服务器(所有截图来自网上, 只供参考)。
windows用户推荐使用第一个(发布服务器用户名:Alex/demo 及密码);连接到订阅数据库:用2.6订阅数据库的帐号和密码
分别建立一个查询分析器,如图
发布机A的数据变化,会自动更新到订阅机B上
相关表:
select * from msdb..MSdistpublishers
select * from distribution..MSpublisher_databases
select * from distribution..MSpublications
select * from distribution..MSarticles
select * from distribution..MSsubscriptions
参考:http://www.cnblogs.com/atomsoft/archive/2009/05/08/1452469.html