11、剩下步骤缺省继续即可。
?
12、在配置好的发布属性中,选择“订阅”,点“强制新建【P】”。
?
13选择订阅服务,这里订阅服务器为“BOCO-SERVER”。
?
14、 数据,默认就可。
15、 默认配置,继续即可,完成及订阅完毕,没有必要在订阅服务器上配置订阅,因为订阅已经在发布服务器上强制。
5.完成订阅
1、进行测试,在准备阶段,已经在订阅服务器上建立了test数据库,在没有复制同步是,可以看到“boco-server”服务器上没有user1 表。
2、同步后,两个数据库一样。
3、平时可以查看相关的日志,发布服务器上,展开发布数据库的树“代理服务器”->“合并代理程序”。
6.失败可能的问题
1、在同步过程中,出现“远程服务器不是内容订阅服务器”的问题,该问题有可能两个原因引起。
A、 hosts 文件问题,在准备工作中,hosts文件中配置的IP地址和主机名,但是如果 SQL Server的实例名成为类似? “wwwserver\remote” 那么在 hosts文件中 的格式为
192.168.1.2 wwwserver\remote ???#注意中间的“\”
然后在企业管理中以“wwwserver\remote”重新注册远程的服务器,重新配置复制即可。
B、 修改了机器名等出现问题,可以按照以下的步骤解决。
在查询分析器里执行:
use master
select srvid,srvname,datasource from sysservers???
如果没有srvid=0或者srvid=0(也就是本机器)但srvname和datasource不一样, 需要按如下方法修改(如果 本机的srvid必须是“0”,否则也必须执行如下脚本:
----------------------以下可以直接粘贴到 查询分析器 中--------------------------
USE master
GO
-- 设置两个变量
DECLARE @serverproperty_servername? varchar(100),? @servername??? varchar(100)
取得Windows NT 服务器和与指定的 SQL Server 实例关联的实例信息
SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))
-- 返回运行 Microsoft SQL Server 的本地服务器名称
SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)
-- 显示获取的这两个参数
select @serverproperty_servername,@servername
--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的
--删除错误的服务器名
EXEC sp_dropserver @server=@servername
--添加正确的服务器名
EXEC sp_addserver @server=@serverproperty_servername, @local='local'
---------------------到此结束------------------------------------
修改这项参数,需要重新启动MSSQLserver和Sqlserveragent服务才能生效