[求助]Sql跨服务器读取的问题

YuyuanJian 2011-03-23 04:53:50
我有两个服务器,一个装的是2008(db1),另一个是2005(db2),之前db1也是2005的时候互访没有任何问题
我用
select *
from OpenRowset('sqlOLEDB','db2';'sa';'pwd',dbname.dbo.tablename)就能轻松访问db2的数据了
现在再出现这个问题的时候,会提示如下错误:

消息 15281,级别 16,状态 1,第 1 行
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。


根据提示加了

exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure


再运行之前那条语句

结果错误变成了错误


链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "未指定的错误"。
链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "在该服务器上找不到完成该操作所需的存储过程。请与系统管理员联系。"。
消息 7311,级别 16,状态 2,第 1 行
无法获取链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI10" 的架构行集 "DBSCHEMA_TABLES_INFO"。该访问接口支持该接口,但使用该接口时返回了失败代码。


请问高手怎么解决些问题,急!
...全文
690 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
YuyuanJian 2011-03-25
  • 打赏
  • 举报
回复
继续求解高手
YuyuanJian 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fredrickhu 的回复:]
开始==>运行==>CMD回车启动命令行。
直接启动服务:net start msdtc
如果启动失败的话按下列步骤执行
在命令行输入services.msc打开服务管理器
找到Distributed Transaction Coordinator服务并设置为手动再启动服务
再不行看下面,在命令行中输入:
msdtc -uninstall
msdtc -install
ne……
[/Quote]

这个方法好像还是不行
YuyuanJian 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ssp2009 的回复:]
在外围配置里找功能的外围应用配置器
[/Quote]

谢谢,哪里可以windows2010哪里能看到"外围配置"?
xuxubaby 2011-03-23
  • 打赏
  • 举报
回复
关注 ~
快溜 2011-03-23
  • 打赏
  • 举报
回复
在外围配置里找功能的外围应用配置器
--小F-- 2011-03-23
  • 打赏
  • 举报
回复
开始==>运行==>CMD回车启动命令行。
直接启动服务:net start msdtc
如果启动失败的话按下列步骤执行
在命令行输入services.msc打开服务管理器
找到Distributed Transaction Coordinator服务并设置为手动再启动服务
再不行看下面,在命令行中输入:
msdtc -uninstall
msdtc -install
net start msdtc

YuyuanJian 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 acherat 的回复:]
05-->

配置工具-->外围配置应用器-->第二个里面看!
[/Quote]

首先非常感谢,
不好意思,我太菜了,没看到这个功能在哪里?不知道是不是sql2008不一样?
YuyuanJian 2011-03-23
  • 打赏
  • 举报
回复
YuyuanJian 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fredrickhu 的回复:]
打开msdtc服务 组件服务--》计算机--》我的电脑--》右键--》msdtc 进入设置 全勾上 注意不需要验证
[/Quote]


忘记说下,我的操作系统是2010,只有这一个,已经勾了,其他不明白,请指教,非常感谢!!
AcHerat 2011-03-23
  • 打赏
  • 举报
回复
05-->

配置工具-->外围配置应用器-->第二个里面看!
YuyuanJian 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ssp2009 的回复:]

[/Quote]

我这个企业管理器里看不到这个界面,能否再指明详细一点点?
--小F-- 2011-03-23
  • 打赏
  • 举报
回复
打开msdtc服务 组件服务--》计算机--》我的电脑--》右键--》msdtc 进入设置 全勾上 注意不需要验证
快溜 2011-03-23
  • 打赏
  • 举报
回复

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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