錯誤提示(配置發布和禁用複製功能時提示 分發伺服器未正確安裝。):
1、無法為本地伺服器找到分發伺服器或分發資料庫。可能未安裝分發伺服器,也可能在分發伺服器上未將本地伺服器配置為發布伺服器。
2、sql server 無法禁用「***x」上的發布和分發。
------------------------------
其他資訊:
執行 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都是指的資料庫名稱。根據自己的資料名來寫
SQLServer 刪除發布與訂閱
在sqlserver中使用右鍵刪除單獨的發布或者訂閱時,有時候刪除不乾淨。顯示刪除成功但是實際上覆制還是存在的。這時候如果要從新建立該錶的訂閱,會提示該錶以用於複製。以下語句經過測試是可以清除成功的。但是有個bug 如果使用第三個sp removedbreplication清除發布或者訂閱的複製物件...
SqlServer發布訂閱
我們在開發系統的時候,經常會遇到高併發的問題,還有高可用性和安全性方面的考慮,需要用讀寫分離的方案來解決問題。也就是在我們使用資料庫比較多,更新少而查詢比較多的情況下使用讀寫分離,實現提高效能,減少資料庫壓力。為啥要用讀寫分離呢?因為資料庫的 寫 操作是比較耗時的 但是資料庫的 讀 操作卻很快。所以...
SQL Server 發布訂閱 發布型別詳解
microsoftsql server 提供了三種複製型別。每種複製型別都適合於不同應用程式的要求。根據應用程式需要,可以在拓撲中使用一種或多種複製型別 為了幫助您選擇適當的複製型別,此主題提供了有關下列內容的資訊 我們建議您先要通讀方案描述,找出與應用程式要求最匹配的方案,然後單擊鏈結檢視詳細資訊...