日期:2016-01-04  浏览次数:1948 次

1、无法为本地服务器找到分发服务器或分发数据库。可能未安装分发服务器,也可能在分发服务器上未将本地服务器配置为发布服务器。

2、SQL Server 无法禁用“xxxx”上的发布和分发。

------------------------------
其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

分发服务器未正确安装,所以无法使数据库不可发布。

 

问题原因:

      服务器换过主机,所以此时机器名不一样了,以前的发布项目都是之前的机器名,所有发布的项目在现在的机器名上未能成功删除,最终导致复制功能不可用。由于 sql的复制功能都是通过机器名去寻址的,所以在更换主机后由于新的机器名和旧的不一样,故提示分发服务器为正确安装。

 

解决方案如下:

--清空dbname数据库所有的订阅和发布项目
所有本服务器上有发布或订阅的的数据都用下面的命令清理掉就可以了。
sp_removedbreplication 'dbname'

--如果之前机器名有发布或订阅项目 可以使用如下命令查看
use dbname
select * from syspublications

use dbname
select * from syspublications

-----------------------下面为一些实用的命令----------------------------

--查看链接服务器
select * from sys.servers
--查看服务器实例名称
select @@servername

USE master
--开启数据库的可合并发布
EXEC sp_dboption 'dbname', 'merge publish', 'TRUE'
--开始数据库的复制功能
EXEC sp_dboption 'dbname', 'published', 'TRUE'

--查看已注册服务器实例
exec sp_helpserver

 

注:以上dbname都是指的数据库名称。根据自己的数据名来写

 

服务器更名后,MSSQL更换服务名字处理方法

 EXEC sp_dropserver '旧的服务名'

        EXEC sp_addserver
        @server='新的服务名',
        @local = 'local'