Sql-Server

從 SQL Server 到 SSAS 的連結伺服器不起作用 - 缺少什麼?

  • November 2, 2017

我有一個也安裝了 ssas 的 SQL Server 2012 標準版 sp1。

我從這個伺服器創建了一個連結伺服器到一個名為 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

我收到此錯誤消息:

消息 7303,級別 16,狀態 1,第 1 行

無法初始化連結伺服器“BIREPLON1”的 OLE DB 提供程序“MSOLAP”的數據源對象。

我錯過了什麼嗎?

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

我在這裡找到了這篇文章。

那裡說:

要解決該問題,您有 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)

並添加連結伺服器登錄:

EXEC master.dbo.sp_addlinkedsrvlogin 
@rmtsrvname=N'SSASSERVER',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'myDomain\Login',
@rmtpassword='########'

我基本上剛剛完成了 3 號,並且連結伺服器現在對我來說工作正常。如下圖所示。

在此處輸入圖像描述

我也遇到了超時問題,所以我也必須更改此設置:(預設值為 600)

EXEC sys.sp_configure N'remote query timeout (s)', N'6000'
GO
RECONFIGURE WITH OVERRIDE
GO

這也可以通過 GUI 完成,如下圖所示:

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/82379