网狐棋牌出现exec sp_addlinkedserver @server=@linkservername 解决的方式方法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
一开始提示,在服务器中找不到在 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 SrvName=@LinkServerName)
BEGIN
EXEC SP_DROPSERVER @LinkServerName,'DropLogins'
END
-- 建立链接服务器
EXEC SP_ADDLINKEDSERVER
@Server=@LinkServerName,
@SrvProduct=@LinkServerName,
@Provider='SQLOLEDB',
@DataSrc=@DBSourceAddr,
@Location='',
@ProvStr='',
@Catalog=null
-- 用户映射
EXEC SP_ADDLINKEDSRVLOGIN @RmtSrvName=@LinkServerName,@Useself='true',@LocalLogin=NULL,@RmtUser=NULL,@RmtPassword=NULL
-- 设置链接服务器
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'
-- 链接服务器状态
EXEC SP_HELPSERVER @LinkServerName
只需要在设置变量那里改改,其他不用动,提示缺少找不到什么服务器就弄什么服务器
-- 设置变量
SET @LinkServerName='QPTreasureDBLink'
SET @DBSourceAddr='(local)'
SET @DBName='QPTreasureDB'
只需把@LinkServerName设置成数据库link名字
@DBName设置成数据库名字
下面是网上通用解决方法
出现错误:
[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
其他解决方式如下:
这个问题是因为数据库是附加的,脚本代码里面的创建链接服务器脚本没有执行,执行一下就好了。
数据库附加 SQL执行
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'
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!