在 sys.servers 中找不到服务器 ‘THAccountsDBLink’(用户链接存储脚本)

ADO 错误:0x80040e14,在 sys.servers 中找不到服务器 ‘THAccountsDBLink’。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。

在 sys.servers 中找不到服务器 'THAccountsDBLink'(用户链接存储脚本) 第1张

解决方法:

需要执行用户链接存储数据库脚本:

在 sys.servers 中找不到服务器 'THAccountsDBLink'(用户链接存储脚本) 第2张

脚本内容:

-- 变量定义
DECLARE @DBName VARCHAR(32)
DECLARE @DBUser VARCHAR(32)
DECLARE @DBPassword VARCHAR(32)
DECLARE @DBSourceAddr VARCHAR(32)
DECLARE @LinkServerName VARCHAR(32)

-- 设置变量Y
SET @LinkServerName='THAccountsDBLink'
SET @DBSourceAddr='(LOCAL)'
SET @DBName='THAccountsDB'

-- 删除连接服务器
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=@DBName

-- 用户映射
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

再次启动:

在 sys.servers 中找不到服务器 'THAccountsDBLink'(用户链接存储脚本) 第3张

最后

注意批量替换THAccountsDB为你对应的数据库表。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注