在 sysservers 中未能找到服务器 'MAIN_DB_LINK_1'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。请问怎么解决?

nEngine 2008-04-20 01:41:59
服务器: 消息 7202,级别 11,状态 2,过程 Equip_Log_Find,行 9
在 sysservers 中未能找到服务器 'MAIN_DB_LINK_1'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。
服务器: 消息 7202,级别 11,状态 2,过程 Query_Item_Name,行 9
在 sysservers 中未能找到服务器 'MAIN_DB_LINK_1'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。
服务器: 消息 7202,级别 11,状态 2,过程 sp_ranksystem,行 249
在 sysservers 中未能找到服务器 'MAIN_DB_LINK_1'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。



服务器: 消息 7202,级别 11,状态 2,过程 Equip_Log_Find,行 9
在 sysservers 中未能找到服务器 'MAIN_DB_LINK_1'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。
第一个错误的地方的代码
CREATE PROCEDURE Equip_Log_Find
@UNA varchar (24),
@ITNM varchar (24)
AS
Select Mode,Action,Count,RegDate from ItemLog where AliasSeq = (Select AliasSeq from UserAliasList WHERE UserAlias = @UNA) and ItemId = (Select ItemId from MAIN_DB_LINK_1.MAIN_DB_1.dbo.ItemParams where ItemName = @ITNM) order by RegDate Desc

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO



服务器: 消息 7202,级别 11,状态 2,过程 Query_Item_Name,行 9
在 sysservers 中未能找到服务器 'MAIN_DB_LINK_1'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。
第二个错误的地方的代码
CREATE PROCEDURE Query_Item_Name
@ITNM varchar (24)
AS
Select ItemName,ItemId,LimitLevel from MAIN_DB_LINK_1.MAIN_DB_1.dbo.ItemParams where ItemName like '%'+@ITNM+'%'

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO


服务器: 消息 7202,级别 11,状态 2,过程 sp_ranksystem,行 249
在 sysservers 中未能找到服务器 'MAIN_DB_LINK_1'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。
第三个错误的地方的代码
	if not exists(select a.userid from [MAIN_DB_LINK_1].[Main_DB_1].dbo.adminparams a ,(select userid from useraliaslist where aliasseq = @aliasseq) b where a.userid = b.userid)
begin


请好心人帮忙解决一下
...全文
3027 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoqiang0409 2010-12-30
  • 打赏
  • 举报
回复
我也遇到这个问题啦,我在网站上下的一个新闻发布系统的代码,数据库一导入就出现那个错误啦~~~ 而且那个代码好像与我的软件不兼容。。。根本调试不出来页面
kqyx_cn 2010-09-06
  • 打赏
  • 举报
回复
我怎么没看明白8楼的操作。
哪里有帮助可以看呀?
nEngine 2008-04-20
  • 打赏
  • 举报
回复
太感激了结贴给分了
hb_gx 2008-04-20
  • 打赏
  • 举报
回复
MAIN_DB_LINK_1.MAIN_DB_1.dbo.ItemParams

先看清楚这一段是什么意思


MAIN_DB_LINK_1 是链接服务器的名字

MAIN_DB_1 是数据库的名字,这个数据库是在 MAIN_DB_LINK_1 定义的那个SqlServer中的数据库



这个错误很明显是数据库中根本没有定义这个名字叫 MAIN_DB_LINK_1 的 LinkServer

上面已经给出了定义 LinkServer 的代码,如果 LZ 没有权限添加 LinkServer 可以找你们公司的 DBA ,如果还是学生定义的代码不会写也没关系,打开 企业管理器 - 展开你的服务器 - 安全性 - 链接服务器 - 右键新建链接服务器

如果是Sql2005则是 服务器对象 - 链接服务器

操作很简单的,看看帮助理解一下效果更好

nEngine 2008-04-20
  • 打赏
  • 举报
回复
楼上的我怎么看不懂?不是针对我那个代码的吧?
liangCK 2008-04-20
  • 打赏
  • 举报
回复
不同服务器数据库之间的数据操作

--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '

--查询示例
select * from ITSV.数据库名.dbo.表名

--导入示例
select * into 表 from ITSV.数据库名.dbo.表名

--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins '

--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset

--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表

--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1

--openquery用法需要创建一个连接

--首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select *
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A

--3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名
select * from
nEngine 2008-04-20
  • 打赏
  • 举报
回复
大大们可以根据我的错误写个代码出来吗。万分感谢,小弟实在是新手
-狙击手- 2008-04-20
  • 打赏
  • 举报
回复
sp_addlinkedserver
创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。

语法
sp_addlinkedserver [ @server = ] 'server'
[ , [ @srvproduct = ] 'product_name' ]
[ , [ @provider = ] 'provider_name' ]
[ , [ @datasrc = ] 'data_source' ]
[ , [ @location = ] 'location' ]
[ , [ @provstr = ] 'provider_string' ]
[ , [ @catalog = ] 'catalog' ]

-狙击手- 2008-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liangCK 的回复:]
请执行 sp_addlinkedserver 以将服务器添加到 sysservers
[/Quote]
nEngine 2008-04-20
  • 打赏
  • 举报
回复
请执行 sp_addlinkedserver 以将服务器添加到 sysservers
我是新手不知道怎么执行 sp_addlinkedserver 以将服务器添加到 sysservers
liangCK 2008-04-20
  • 打赏
  • 举报
回复
请执行 sp_addlinkedserver 以将服务器添加到 sysservers

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧