这是我用来将链接服务器注册到 SSAS 的代码:
USE [master];
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'ServerAlias',
@srvproduct = N'',
@provider= N'MSOLAP',
@datasrc= N'ActualServerName',
@catalog = N'DatabaseName';
当我尝试使用 运行 MDX 查询OPENQUERY
时,或者在运行上述代码后在 Management Studio 中使用测试连接命令时,我收到错误消息:
消息 7403,级别 16,状态 1,第 1 行
OLE DB 提供程序“MSOLAP”尚未注册。
这很奇怪,因为此提供程序是作为 SQL Server 的一部分安装的。
- 它在同一个盒子上的所有其他实例上也失败了——总共 5 个 2008 R2 RTM 和 2008 R2 SP1 实例。我记不清了,但问题框中的 1 或 2 个实例可能在某个时候从 2008 升级到 2008 R2。
- 它在使用 2008 R2 的其他几个机器上取得了成功,其中一个机器总共有大约十几个 2005、2008 R2 和 2012 实例。我尝试了 32 位和 64 位都成功了。
我查看了描述确切问题的这篇 Microsoft 知识库文章;但是,没有适用的解决方案。我在互联网上发现的所有其他此错误实例都是由于有人错误地定义了链接服务器,这也不适用。
这是一个开发服务器(谢天谢地),所以几乎所有选项都在桌面上。维修会解决这个问题吗?感觉注册表中有问题。
(我先问路,因为没有权限,我自己无法进行任何维护。)
除非您在服务器上安装 SSAS,否则 SQL Server Analysis Services 驱动程序实际上并未作为正常 SQL Server 安装的一部分进行安装。
您可以从SQL Server 功能包下载 MSOLAP 驱动程序并进行安装。然后您可以创建链接服务器。如果您有 64 位 SQL Server,请不要忘记安装 64 位安装;如果您有 32 位 SQL Server,请不要忘记安装 32 位。
搜索 msolap*.dll 以查找已安装的提供程序并使用
regsvr32
.示例如下(您的文件位置可能会有所不同):
如果您使用的是 64 位操作系统:
还要确保您以管理员身份运行命令提示符