今天在設定資料庫發布和分發時總是報出現 18483 錯誤
提示說:錯誤 18483:未能串連到伺服器 "XXX",因為 'distributor_admin'未在該伺服器上定義為遠程登陸。
我的發布和分發是同一個伺服器,"XXX" 為我的機器名,散發資料庫是預設的名稱,而我在另外一台機器上做時就正常。
在網上查了一下,有很多這方面得解釋:
1:轉載http://blog.csdn.net/zdmilan/archive/2005/06/24/401705.aspx
1、設定共用複製目錄:
\\computer_machine\C$...\..如果伺服器取消過預設的共用($)則會失敗;此時建立一個目錄,並賦予許可權,目錄改為:\\computer_machine\共用目錄名
2、建立用於發布應用的windows帳號
3、在配置散發者時遭遇了 錯誤18483 提示因為distributor_admin未在該伺服器上定義為遠程登陸,故無法建立
解決方案:(運行以下程式)
USE master
GO
--設定兩個變數
DECLARE @serverproperty_servername varchar(100),
@servername varchar(100)
--取得Windows NT 伺服器和與指定的 SQL Server 執行個體關聯的執行個體資訊
--具體可以看聯機叢書"SERVERPROPERTY"
SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))
--返回運行 Microsoft® SQL Server™ 的本機伺服器名稱
--具體可以看聯機叢書@@SERVERNAME
SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)
--如果@serverproperty_servername和@servername不同(因為你改過電腦名稱字),再運行下面的
--刪除錯誤的伺服器名
EXEC sp_dropserver @server=@servername
--添加正確的伺服器名
EXEC sp_addserver @server=@serverproperty_servername, @local='local'
2:鄒健回覆的:
/*-- 錯誤18483:未能串連到伺服器 'xx',因為'distributor_admin'未在該伺服器上定義為遠程登入。 --*/
--出現這種問題,應該是你曾經更改過電腦名稱
--執行下面的語句,完成後重新啟動SQL服務
if serverproperty('servername') <> @@servername
begin
declare @server sysname
set @server = @@servername
exec sp_dropserver @server = @server
set @server = cast(serverproperty('servername') as sysname)
exec sp_addserver @server = @server , @local = 'LOCAL'
end
但是我執行完上面的SQL,重啟服務以後,還是報同樣的錯誤.最後嘗試著把註冊名手動更改的和電腦名稱一致,結果就OK了.