Sql-Server
如何減少 SSAS 連結伺服器連接中的 OLEDB 等待類型?
我最近創建了一個連結伺服器到我的一個 SSAS 伺服器。
當我繼續打開目錄時,要查看那裡有哪些 ssas 數據庫,我使用以下過程:
create procedure sys.sp_catalogs ( @server_name sysname ) as select CATALOG_NAME = f_rc.CATALOG_NAME, DESCRIPTION = convert (nvarchar(255), f_rc.DESCRIPTION) from sys.fn_remote_catalogs (@server_name, NULL) f_rc order by CATALOG_NAME
這就是我所說的:
sys.sp_catalogs 'sasbidev01'
當我看到它花費的時間太長時,我檢查它正在執行什麼:
我看到了 OLEDB 等待類型。
這本身是否表明我可以做一些事情來提高此連接的速度?
連結伺服器腳本創建:
USE [master] GO IF NOT EXISTS (SELECT srv.name FROM sys.servers srv WHERE srv.server_id != 0 AND srv.name = N'SASBIDEV01') BEGIN EXEC master.dbo.sp_addlinkedserver @server = N'SASBIDEV01' , @srvproduct=N'' , @provider=N'MSOLAP' , @datasrc=N'SASBIDEV01' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'SASBIDEV01' ,@useself=N'False' ,@locallogin=NULL ,@rmtuser=N'mycompany.CO.UK\SASBIDEV01_SSAS' ,@rmtpassword='B4l4r4m4__sbidev01' END GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'collation compatible', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'data access', @optvalue=N'true' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'dist', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'pub', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'rpc', @optvalue=N'true' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'rpc out', @optvalue=N'true' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'sub', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'connect timeout', @optvalue=N'0' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'collation name', @optvalue=null GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'lazy schema validation', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'query timeout', @optvalue=N'0' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'use remote collation', @optvalue=N'true' GO EXEC master.dbo.sp_serveroption @server=N'SASBIDEV01', @optname=N'remote proc transaction promotion', @optvalue=N'true' GO
OLEDB
等待類型是 SQL Server 用來報告它等待來自通過 OleDB 提供程序在 SQL Server 控制之外執行的程式碼的響應的時間量。通常,這來自連結伺服器,在您的特定範例中是 SQL Server 等待 SSAS 提供其對該查詢的響應的時間量。您無法對 SQL Server執行任何操作來加速此查詢。您需要確保 SSAS 具有所需的專用記憶體,以確保它永遠不會從記憶體中調出到頁面文件。 此 Microsoft Docs 頁面可能會有所幫助。