MSSQL_ENG014117

適用於:SQL Server Azure SQL 受控執行個體

訊息詳細數據

屬性
產品名稱 SQL Server
事件識別碼 14117
事件來源 MSSQLSERVER
元件 SQL Server Database Engine
符號名稱
訊息文字 '%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. 停用散發,然後重新啟用它。 如需詳細資訊,請參閱 Configure Distribution>。

另請參閱

錯誤與事件參考 (複寫)