共用方式為


MSSQL_ENG014117

訊息細節

產品名稱 SQL Server
事件識別碼 14117
事件來源 MSSQLSERVER
元件 SQL Server 資料庫引擎
符號名稱
消息正文 %s 並未設定為散發資料庫。

說明

如果下列其中一項或兩者都成立,就可能發生此錯誤:

  • 指定散發資料庫的項目遺失於 msdb..MSdistributiondbs

  • master 資料庫中的本地伺服器沒有項目,或存在的不正確。

    複寫預期拓撲中的所有伺服器都會使用具有選擇性實例名稱的計算機名稱來註冊(如果是叢集實例,SQL Server 虛擬伺服器名稱為選擇性實例名稱)。 若要讓復寫正常運作,拓撲中每部伺服器所傳 SELECT @@SERVERNAME 回的值應該符合計算機名稱或虛擬伺服器名稱與選擇性實例名稱。

    如果您已透過IP位址或完整功能變數名稱 (FQDN) 註冊任何 SQL Server 實例,則不支援複寫。 如果您在設定複寫時,於 SQL Server Management Studio 中以 IP 位址或 FQDN 註冊的任何 SQL Server 實例,可能會引發此錯誤。

使用者動作

確認分發器實例已正確註冊。 如果電腦的網路名稱和 SQL Server 實體的名稱不同,則為:

  • 將 SQL Server 實例名稱新增為有效的網路名稱。 設定替代網路名稱的其中一種方法是將它新增至本機主機檔案。 本機主機檔案預設位於 WINDOWS\system32\drivers\etc 或 WINNT\system32\drivers\etc。如需詳細資訊,請參閱 Windows 檔。

    例如,如果計算機名稱為 comp1,且計算機 IP 位址為 10.193.17.129,且實例名稱為 inst1/instname,請將下列專案新增至主機檔案:

    10.193.17.129 inst1

  • 先停用散發,註冊實例,然後重新啟用散發。 如果非叢集實例的 @@SERVERNAME 值不正確,請遵循下列步驟:

    sp_dropserver '<old_name>', 'droplogins'  
    go  
    sp_addserver '<new_name>', 'local'  
    go  
    

    執行 sp_addserver (Transact-SQL) 預存程序之後,您必須重新啟動 SQL Server 服務,才能讓變更@@SERVERNAME生效。

    如果叢集實例的 @@SERVERNAME 值不正確,您必須使用叢集管理員變更名稱。 如需詳細資訊,請參閱 AlwaysOn 故障轉移叢集實例 (SQL Server)

確認散發者實例是否已正確註冊之後,請確認散發資料庫列在 msdb 中。MSdistributiondbs。 如果未列出:

  1. 編寫分配組態的腳本。 如需詳細資訊,請參閱 Scripting Replication

  2. 停用分發功能,然後重新啟用。 如需詳細資訊,請參閱 配置發佈

另請參閱

錯誤與事件參考 (複寫)