MSSQL_ENG014117
訊息詳細資料
產品名稱 | 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中。 如果其沒有列在其中:
為散發組態編寫指令碼。 如需詳細資訊,請參閱 Scripting Replication。
停用散發,然後再重新啟用它。 如需詳細資訊,請參閱 Configure Distribution>。