首页新闻找找看学习计划

SQLServer链接服务器删除数据引起的问题

0
悬赏园豆:200 [已解决问题] 解决于 2016-04-27 16:54

我有三台数据库服务器

A、B、C

B通过链接服务器删除A服务器的数据时会报错:

链接服务器"TEST"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。"。
Msg 7202, Level 11, State 2, Line 1
在 sysservers 中找不到服务器 'XXXXX'。请执行 sp_addlinkedserver 将该服务器添加到 sysservers。

这里的TEST就是A服务器

XXXXX是C服务器。

因为找不到问题,我做了大量的测试:

1、直接在A服务器上删除数据,没有问题

2、B服务器上的查询分析器连接A服务器删除数据,没有问题

3、B服务器通过链接服务器删除A服务器另一个数据库的数据,没有问题

4、C服务器通过链接服务器删除A服务器删除数据,没有问题。

5、B服务器上新建一个新的链接服务器删除A服务器的数据也会报错

谁能帮我解决这个问题?

问题补充:

出错的必要条件:

1、B服务器

2、链接服务器连接A服务器

在B服务器报错sql:

delete from TEST.DATABASE.dbo.table1 where id in (select id from table1)

BB_Coder的主页 BB_Coder | 小虾三级 | 园豆:895
提问于:2015-05-30 14:46
< >
分享
最佳答案
0

是不是你删除A的数据时,要删除的数据  间接  和C有联系,

你只在A上建立了A到C的链接,所以你在A上直接删除是没问题的,

而且你删除A上的另一数据库也没会出错..

那么..你要不在B上建立一个B到C的连接,之后再从B上删除A的数据看看还会不会报错呢..

收获园豆:200
hexllo | 菜鸟二级 |园豆:405 | 2015-05-31 13:02

最近迁移了数据库,问题没有了。但是我觉得可能是这个原因。。。。

BB_Coder | 园豆:895 (小虾三级) | 2016-04-27 16:55
其他回答(1)
0

 C删A可以, 说明A没问题。 

 B到A的链接服务器你没建好。  问题肯定出在B身上。 

问天何必 | 园豆:3291 (老鸟四级) | 2015-05-30 17:55

第三个测试,说明链接服务器是可以用的。

3、B服务器通过链接服务器删除A服务器另一个数据库的数据,没有问题

同一个链接服务器,只不能删除那个特定数据库的数据。其它数据库的数据都可以删除。权限都是有的。而且报的错也不是跟权限相关的。

支持(0) 反对(0) BB_Coder | 园豆:895 (小虾三级) | 2015-05-31 11:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册