64位SQL 2008 链接32位SQL 2000 服务器问题

链接服务器"10.5.219.21"的OLE DB 访问接口"SQLNCLI10" 返回了消息"Unspecified error"。

链接服务器"10.5.219.21"的OLE DB 访问接口"SQLNCLI10" 返回了消息"The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator."。

 

在64位版本服务器上建立32位版本sql的链接服务器,需要在目的服务器上用dba权限的账号在master数据库中生成如下存储过程,并赋予64位版本服务器执行权限(执行下面的代码即可):

create procedure sp_tables_info_rowset_64

       @table_name sysname,

       @table_schema     sysname = null,  

       @table_type nvarchar(255) = null

 as

 declare @Result int set @Result = 0

 exec @Result = sp_tables_info_rowset @table_name, @table_schema, @table_type

 

 

远程DBA在已经在19,20,21,22服务器的master数据库中,以sa的role 创建这个sp_tables_info_rowset_64过程。

后执行

select top 10 * from [10.5.219.21].mas_dist.dbo.Tbl_Packing_Lot_Info_transaction_log

接服务器"10.5.219.21"的OLE DB 访问接口"SQLNCLI10" 返回了消息"Unspecified error"。

消息229,级别14,状态5,过程sp_tables_info_rowset_64,第1 行

EXECUTE permission denied on object 'sp_tables_info_rowset_64', database 'master', owner 'dbo'.

经分析是中间平台没有master权限(或者是在对应数据库没有public权限);

请远程DBA在对应数据库建立存储过程并赋予用户权限,后OK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值