Sql-Server
從 SQL Server 到 SSAS 的連結伺服器不起作用 - 缺少什麼?
我有一個也安裝了 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 個選項:
- 從數據伺服器執行 SQL 查詢(您需要遠端連接到數據庫伺服器)
- 在數據庫伺服器上啟用 Kerberos
- 為連結伺服器設置代理帳戶,以便 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 完成,如下圖所示: