MSSQL_ENG014117
訊息詳細資料
產品名稱 |
SQL Server |
產品版本 |
10.0 |
產品組建編號 |
|
事件識別碼 |
14117 |
事件來源 |
MSSQLSERVER |
元件 |
SQL Server Database Engine |
符號名稱 |
|
訊息文字 |
'%s' 並未設定為散發資料庫。 |
說明
如果下列條件中的一或兩條成立,則會發生此錯誤:
msdb..MSdistributiondbs 中遺失指定散發資料庫的項目。
master 資料庫中沒有本機伺服器的項目,或者該項目不正確。
針對拓撲中所有伺服器,複寫預計應使用電腦名稱與選擇性的執行個體名稱註冊 (叢集執行個體則為 SQL Server 虛擬伺服器名稱加上選擇性的執行個體名稱)。要讓複寫正常運作,SELECT @@SERVERNAME 針對拓撲中每部伺服器傳回的值,都應該符合電腦名稱或虛擬伺服器名稱加上選擇性執行個體名稱。
若您已透過 IP 位址或完整格式的網域名稱 (FQDN) 註冊任一 SQL Server 執行個體,就不支援複寫。如果您設定複寫時,依 IP 位址或依 SQL Server Management Studio 中的 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 的值不是正確的非叢集執行個體值,則必須使用叢集管理員變更名稱。如需詳細資訊,請參閱<SQL Server 2008 容錯移轉叢集使用者入門>。
在確認「散發者」執行個體已正確註冊之後,請確認散發資料庫是否列在 msdb..MSdistributiondbs 中。如果其沒有列在其中: