一、配置分发服务器
1.可能会出现的问题
(1)在sqlserver 2008 r2 上面做发布/订阅的时候,服务器上发布时出现:”sqlserver 无法将xxx配置为分发服务器 “错误
SELECT @@SERVERNAME,SERVERPROPERTY('SERVERNAME')
本地输出是:USKY-RD-TESTDB , USKY-0493BB2863
发现不一致,需要执行以下命令:
exec sp_dropserver 'USKY-0493BB2863'
GO
exec sp_addserver 'usky-RD-TestDB',LOCAL
GO
或者
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'
然后需要重启sqlserver服务器,不然修改无效
如果安装SQL之后 服务器修改主机名,造成不一致,且之前有存在复制发布:
参考:SQL Server服务器名称与默认实例名不一致的修复方法
最后我是通过下面这条语句解决了问题
exec sp_setnetname 'repl_distributor','MSSQLSERVER'
(2)
服务器 ‘xxxx’ 已被定义为分发服务器。若要将该服务器重新配置为分发服务器,必须首先卸载现有的分发服务器。使用存储过程 sp_dropdistributor,或使用禁用发布和分发向导。已将数据库上下文更改为 ‘master’。 (Microsoft SQL Server, Error: 14099)
首先执行以下命令:
SELECT * FROM msdb.dbo.MSdistributor;
如果有结果说明之前没有删干净
执行以下命令:
解决方案参考:服务器 ‘xxxx’ 已被定义为分发服务器。若要将该服务器重新配置为分发服务器,必须首先卸载现有的分发服务
(3)
解决方案参考:
首先重启一下服务器有没有效果,不行的话试试下面这两种方法。
1.sqlserver2008R2在配置复制分发时报错:在执行xp_cmdshell的过程中出错
2.SQL SERVER 2008 执行xp_cmdshell的过程中出错,调用createprocess失败,错误代码 5 解决方案
2.配置分发服务器
打开Sql server代理
点击:复制-配置分发
然后如果没有特殊需求直接一直下一步到完成。
参考:配置分发服务器
二、配置对等事务复制
参考这个链接:配置对等事务复制
直接从下面这幅图所示的内容开始看起:
到下面这幅图先暂停一下:
!注意:
在点击完成之前,有个“生成包含创建发布步骤的脚本文件”,因为需要对另一台服务器进行同样的配置,可以把这个选项勾上,然后直接执行这个脚本就可以完成发布的配置。
但是执行完脚本后,还是需要配置下面这个“允许对等订阅”
其余步骤继续参照上述所给的博文链接进行操作。
更多推荐
sqlserver2008 对等事务复制教程(包含可能出现的问题及解决方案)
发布评论