无法从链接服务器中删除记录



在过去的两天里,我到处寻找问题的解决方案,但运气不佳。

我有一个从远程服务器删除记录的查询:

delete from OPENROWSET('SQLNCLI', 'Server=AB01SSQLEXPRESS;Database=ShopData;Trusted_Connection=yes', 'Select receipt_n,action_in, action_ty, action_field_name,action_field_type,action_field_data, terminal from tblData where receipt_n= 1 and terminal = 1');

我得到了这个错误:

OLE DB provider "SQLNCLI" for linked server "(null)" returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
Msg 7202, Level 11, State 1

它还建议使用sp_addlinkedserver来添加链接服务器。

一些注意事项:

  1. 这种情况仅发生在此特定计算机+远程服务器上。在两个不同的工作站(计算机+服务器)上,它运行得很好
  2. 插入到OpenRowSet工作正常
  3. 从OpenRowSet中选择*工作正常。=>将删除更改为选择*可以正常工作
  4. 在查询的计算机上启用了Ad-hok
  5. 在通过openrowset查询的计算机上启用了远程连接
  6. 我可以ping服务器(AB01S)

到目前为止,我已经尝试通过GUI和sp_addlinkserver添加链接设置。

我发现了问题!!

服务器名称(由于某种原因)不正确。@@servername返回AB01S_88

解决方案是:运行以下代码,然后重新启动服务:

exec sp_dropserver @@servername
exec sp_addserver 'AB01S', local
exec sp_serveroption 'AB01S', 'data access' , 'true'

相关内容

  • 没有找到相关文章