網(wǎng)狐棋牌出現(xiàn)exec sp_addlinkedserver @server=@linkservername 解決的方式方法
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
一開(kāi)始提示,在服務(wù)器中找不到在 sys.servers 中找不到服務(wù)器 'QPAccountsDBLink',先用select * from sys.servers ?,發(fā)現(xiàn)只能查到一個(gè)服務(wù)器名稱(chēng),后來(lái)自己電腦里保存了一些鏈接腳本,只需改幾個(gè)地方
-- 變量定義
DECLARE @DBName VARCHAR(32)
DECLARE @DBUser VARCHAR(32)
DECLARE @DBPassword VARCHAR(32)
DECLARE @DBSourceAddr VARCHAR(32)
DECLARE @LinkServerName VARCHAR(32)
-- 設(shè)置變量
SET @LinkServerName='QPTreasureDBLink'
SET @DBSourceAddr='(local)'
SET @DBName='QPTreasureDB'
-- 刪除連接服務(wù)器
IF EXISTS(SELECT SrvName FROM MASTER.DBO.SYSSERVERS WHERE SrvName=@LinkServerName)
BEGIN
EXEC SP_DROPSERVER @LinkServerName,'DropLogins'
END
-- 建立鏈接服務(wù)器
EXEC SP_ADDLINKEDSERVER?
@Server=@LinkServerName,?
@SrvProduct=@LinkServerName,
@Provider='SQLOLEDB',
@DataSrc=@DBSourceAddr,
@Location='',
@ProvStr='',
@Catalog=null
-- 用戶(hù)映射
EXEC SP_ADDLINKEDSRVLOGIN @RmtSrvName=@LinkServerName,@Useself='true',@LocalLogin=NULL,@RmtUser=NULL,@RmtPassword=NULL
-- 設(shè)置鏈接服務(wù)器
EXEC SP_SERVEROPTION @Server=@LinkServerName,@OptName='RPC',@OptValue='true'
EXEC SP_SERVEROPTION @Server=@LinkServerName,@OptName='RPC OUT',@OptValue='true'
EXEC SP_SERVEROPTION @Server=@LinkServerName,@OptName='Data Access',@OptValue='true'
EXEC SP_SERVEROPTION @Server=@LinkServerName,@OptName='Collation CompaTible',@OptValue='true'
EXEC SP_SERVEROPTION @Server=@LinkServerName,@OptName='Use Remote Collation',@OptValue='true'
-- 鏈接服務(wù)器狀態(tài)
EXEC SP_HELPSERVER @LinkServerName
只需要在設(shè)置變量那里改改,其他不用動(dòng),提示缺少找不到什么服務(wù)器就弄什么服務(wù)器
-- 設(shè)置變量
SET @LinkServerName='QPTreasureDBLink'
SET @DBSourceAddr='(local)'
SET @DBName='QPTreasureDB'
只需把@LinkServerName設(shè)置成數(shù)據(jù)庫(kù)link名字
@DBName設(shè)置成數(shù)據(jù)庫(kù)名字
下面是網(wǎng)上通用解決方法
出現(xiàn)錯(cuò)誤:
[Microsoft][ODBC SQL Server Driver][SQL Server]在 sys.servers 中找不到服務(wù)器 '***'。請(qǐng)驗(yàn)證指定的服務(wù)器名稱(chēng)是否正確。如果需要,請(qǐng)執(zhí)行存儲(chǔ)過(guò)程 sp_addlinkedserver 以將服務(wù)器添加到 sys.servers。
解決方法:
打開(kāi)SQL Server Management Studio,新建查詢(xún):
select * from sys.servers?
GO
//這里可得到原來(lái)的計(jì)算機(jī)名稱(chēng)。然后將其記錄下來(lái)(復(fù)制即可)
新建查詢(xún):
sp_dropserver [你的SQL服務(wù)器名稱(chēng)]
GO
//這里是將原來(lái)的名稱(chēng)刪除。
新建查詢(xún):
sp_addserver [新的SQL服務(wù)器名稱(chēng)]
GO
//這里是新建服務(wù)器名稱(chēng)
新建查詢(xún):
sp_serveroption '新的SQL服務(wù)器名稱(chēng)','data access', 'true'
GO
其他解決方式如下:
這個(gè)問(wèn)題是因?yàn)閿?shù)據(jù)庫(kù)是附加的,腳本代碼里面的創(chuàng)建鏈接服務(wù)器腳本沒(méi)有執(zhí)行,執(zhí)行一下就好了。
數(shù)據(jù)庫(kù)附加 SQL執(zhí)行
sp_addlinkedserver 'RYAccountsDBLink', 'RYAccountsDBLink', 'SQLNCLI','(local)',null,null,'RYAccountsDB'
sp_addlinkedserver 'RYTreasureDBLink', 'RYTreasureDBLink', 'SQLNCLI','(local)',null,null,'RYTreasureDB'
sp_addlinkedserver 'RYPlatformDBLink', 'RYPlatformDBLink', 'SQLNCLI','(local)',null,null,'RYPlatformDB'
sp_addlinkedserver 'RYRecordDBLink', 'RYRecordDBLink', 'SQLNCLI','(local)',null,null,'RYRecordDB'
EXEC master.dbo.sp_serveroption @server=N'RYAccountsDBLink', @optname=N'rpc out', @optvalue=N'true'
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫(xiě)所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!