共用方式為


MSSQL_ENG014010

訊息詳細資料

產品名稱 SQL Server
事件識別碼 14010
事件來源 MSSQLSERVER
元件 SQL Server Database Engine
符號名稱
訊息文字 伺服器 '%s' 並未定義為訂閱伺服器。

說明

複寫預期拓撲中的所有伺服器都必須使用具有選擇性實例名稱的電腦名稱稱來註冊, (在叢集實例的情況下,SQL Server具有選擇性實例名稱的虛擬伺服器名稱) 。 要讓複寫正常運作, SELECT @@SERVERNAME 針對拓撲中每部伺服器傳回的值,都應該符合電腦名稱或虛擬伺服器名稱加上選擇性執行個體名稱。

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

使用者動作

確認拓撲中的所有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

  • 移除複寫、註冊每個SQL Server實例,然後重新建立複寫。 如果非叢集執行個體的 @@SERVERNAME 值不正確,請遵循下列步驟:

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

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

    如果 @@SERVERNAME 的值不是正確的非叢集執行個體值,則必須使用叢集管理員變更名稱。 如需詳細資訊,請參閱 AlwaysOn 容錯移轉叢集執行個體 (SQL Server)

另請參閱

@@SERVERNAME (Transact-SQL)
錯誤和事件參考 (複寫)