如何在SSAS链接服务器连接中减少OLEDB等待类型?
-
29-09-2020 - |
题
我最近创建了一个链接服务器到我的SSAS服务器之一。
当我继续打开目录时,要查看我有哪些SSA数据库, 我使用以下过程:
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等待SSA的时间量为该查询提供响应。
您可以为SQL Server 进行...加快此查询。您需要确保SSA具有所需的专用内存,以确保它永远不会将内存分页到分页文件。此Microsoft文档页面可能会有所帮助。
不隶属于 dba.stackexchange