標籤:blog http os strong 資料 io art re
一開始提示,在伺服器中找不到在 sys.servers 中找不到伺服器 ‘QPAccountsDBLink‘,先用select * from sys.servers ,發現只能查到一個伺服器名稱,後來自己電腦裡儲存了一些連結指令碼,只需改幾個地方
-- 變數定義
DECLARE @DBName VARCHAR(32)
DECLARE @DBUser VARCHAR(32)
DECLARE @DBPassword VARCHAR(32)
DECLARE @DBSourceAddr VARCHAR(32)
DECLARE @LinkServerName VARCHAR(32)
-- 設定變數
SET @LinkServerName=‘QPTreasureDBLink‘
SET @DBSourceAddr=‘(local)‘
SET @DBName=‘QPTreasureDB‘
-- 刪除串連伺服器
IF EXISTS(SELECT SrvName FROM MASTER.DBO.SYSSERVERS WHERE [email protected])
BEGIN
EXEC SP_DROPSERVER @LinkServerName,‘DropLogins‘
END
-- 建立連結的伺服器
EXEC SP_ADDLINKEDSERVER
@[email protected],
@[email protected],
@Provider=‘SQLOLEDB‘,
@[email protected],
@Location=‘‘,
@ProvStr=‘‘,
@Catalog=null
-- 使用者映射
EXEC SP_ADDLINKEDSRVLOGIN @[email protected],@Useself=‘true‘,@LocalLogin=NULL,@RmtUser=NULL,@RmtPassword=NULL
-- 設定連結的伺服器
EXEC SP_SERVEROPTION @[email protected],@OptName=‘RPC‘,@OptValue=‘true‘
EXEC SP_SERVEROPTION @[email protected],@OptName=‘RPC OUT‘,@OptValue=‘true‘
EXEC SP_SERVEROPTION @[email protected]inkServerName,@OptName=‘Data Access‘,@OptValue=‘true‘
EXEC SP_SERVEROPTION @[email protected],@OptName=‘Collation CompaTible‘,@OptValue=‘true‘
EXEC SP_SERVEROPTION @[email protected],@OptName=‘Use Remote Collation‘,@OptValue=‘true‘
-- 連結的伺服器狀態
EXEC SP_HELPSERVER @LinkServerName
只需要在設定變數那裡改改,其他不用動,提示缺少找不到什麼伺服器就弄什麼伺服器
-- 設定變數
SET @LinkServerName=‘QPTreasureDBLink‘
SET @DBSourceAddr=‘(local)‘
SET @DBName=‘QPTreasureDB‘
只需把@LinkServerName設定成資料庫link名字
@DBName設定成資料庫名字
下面是網上通用解決方案
分析SQL語句的效能應用Profiler最佳化SQL Server資料庫系統在 sys.servers 中找不到伺服器的解決方案
2008-11-18 10:31:14| 分類: 編程 | 標籤: |舉報 |字型大小大中小 訂閱
出現錯誤:
[Microsoft][ODBC SQL Server Driver][SQL Server]在 sys.servers 中找不到伺服器 ‘***‘。請驗證指定的伺服器名稱是否正確。如果需要,請執行預存程序 sp_addlinkedserver 以將伺服器添加到 sys.servers。
解決方案:
開啟SQL Server Management Studio,建立查詢:
select * from sys.servers
GO
//這裡可得到原來的電腦名稱。然後將其記錄下來(複製即可)
建立查詢:
sp_dropserver [你的SQL伺服器名稱]
GO
//這裡是將原來的名稱刪除。
建立查詢:
sp_addserver [新的SQL伺服器名稱]
GO
//這裡是建立伺服器名稱
建立查詢:
sp_serveroption ‘新的SQL伺服器名稱‘,‘data access‘, ‘true‘
GO