原文地址:http://www.cnblogs.com/qanholas/archive/2012/04/13/2445489.html
錯誤提示(配置發佈和禁用複製功能時提示 分發服務器未正確安裝。):
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