共用方式為


MSSQL_ENG014010

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

訊息詳細數據

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

說明

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

如果您已透過IP位址或完整功能變數名稱 (FQDN) 註冊任何 SQL Server 實例,則不支援複寫。 如果您在設定複寫時,已在 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)