从 SQL Server 到 SSAS 的链接服务器不起作用 - 缺少什么?

Mar*_*lli 5 sql-server ssas linked-server sql-server-2012

我有一个 SQL Server 2012 标准版 sp1,它也安装了 ssas。

我从这个服务器创建了一个链接服务器到一个名为 BIREPLON1 的 ssas 服务器,但是当我尝试访问它时,我收到如下所示的错误消息。

有趣的是,当我通过 GUI 时,单击 Server Objects\linked servers\BIREPLON1 似乎一切正常(如下图 4 所示)。

但是当我运行简单的select

SELECT CATALOG_NAME 
FROM OPENQUERY([BIREPLON1], 'SET FMTONLY OFF;SELECT [CATALOG_NAME] FROM $SYSTEM.DBSCHEMA_CATALOGS') as Radhe
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器“BIREPLON1”的 OLE DB 提供程序“MSOLAP”的数据源对象。

我错过了什么吗?

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

Mar*_*lli 5

我在这里找到了这篇文章。

在那里它指出:

要解决该问题,您有 3 个选择:

  1. 从数据服务器运行 SQL 查询(您需要远程连接到数据库服务器)
  2. 在数据库服务器上启用 Kerberos
  3. 为链接服务器设置代理帐户,以便 MDX 查询在其上下文中执行,而不是在发出 t-sql 查询的用户的上下文中执行:

创建链接服务器:

EXEC master.dbo.sp_addlinkedserver
@server = N'SSASSERVER', -- name of linked server
@srvproduct=N'MSOLAP',
@provider=N'MSOLAP', -- see list of providers available on SQL Server under Linked Server node in SSMS Object Browser
@datasrc=N'ServerName', -- machine or instance name  that host Analysis Services
@catalog=N'SimplifiedCube' -- Analysis Services database (cube)
Run Code Online (Sandbox Code Playgroud)

并添加链接服务器登录:

EXEC master.dbo.sp_addlinkedsrvlogin 
@rmtsrvname=N'SSASSERVER',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'myDomain\Login',
@rmtpassword='########'
Run Code Online (Sandbox Code Playgroud)

我基本上刚刚完成了数字 3,链接服务器现在对我来说工作正常。如下图所示。

在此处输入图片说明

我也遇到了超时问题,所以我也必须更改此设置:(默认值为 600)

EXEC sys.sp_configure N'remote query timeout (s)', N'6000'
GO
RECONFIGURE WITH OVERRIDE
GO
Run Code Online (Sandbox Code Playgroud)

这也可以通过 GUI 完成,如下图所示:

在此处输入图片说明