在配置資料同步的時候,要求相互同步的兩台機器的資料庫必須通過預設執行個體名稱進行串連。如果你的預設執行個體已經刪掉了,在當前執行個體上進行建立發佈動作時候,會提示你:
“由於未在SqlServer的此執行個體上安裝複製組件,Microsoft SQL server 無法訪問這些組件,請參閱SQL Server……”
注意下面還有一個附加的提示,它的意思就是說預設執行個體名和當前的執行個體名稱不一致。其實這個才是導致不能複製的主要原因。把它解決了,你就可以進行複製了。
產生的原因是因為安裝完SqlServer之後,又修改了電腦的名稱。
解決“SqlServer複製需要有實際的伺服器名稱才能串連到伺服器。不支援通過伺服器別名、Ip地址或任何其他備用名稱進行串連。”
一:首先看一下,你的預設執行個體名稱和當前的執行個體名稱是否一致,我們在SqlServer2005 Management Studio中建立查詢
SELECT @@SERVERNAME,SERVERPROPERTY('SERVERNAME')
可以看到查詢出來兩個不同的結果,說明當先啟動並執行執行個體不是預設執行個體。可以通過以下方法將當前啟動並執行執行個體改為預設執行個體。
SQL Code
- USE master
- GO
- -- 設定兩個變數
- DECLARE @serverproperty_servername varchar(100),
- @servername varchar(100)
- -- 取得Windows NT 伺服器和與指定的 SQL Server 執行個體關聯的執行個體資訊
- SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))
- -- 返回運行 Microsoft SQL Server 的本機伺服器名稱
- SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)
- -- 顯示擷取的這兩個參數
- select @serverproperty_servername,@servername
- --如果@serverproperty_servername和@servername不同(因為你改過電腦名稱字),再運行下面的
- --刪除錯誤的伺服器名
- EXEC sp_dropserver @server=@servername
- --添加正確的伺服器名
- EXEC sp_addserver @server=@serverproperty_servername, @local='local'
說明已經將當前執行個體設定為預設執行個體了,接下來再“建立發布”,就可以看到發布或者訂閱嚮導了