SSASリンクサーバー接続でOLEDB WAITタイプを縮小する方法を教えてください。
-
29-09-2020 - |
質問
最近、私のSSASサーバーの1つにリンクサーバーを作成しました。
先に進んでカタログを開くとき、どの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'
.
時間がかかりすぎると思うときは、実行中のものを確認します。
href="https://i.stack.imgur.com/1slxw.jpg" rel="nofollownoreferrer">
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
wait型の額を報告するために使用するSQL Serverが使用するものです。時間は、OLEDBプロバイダを介してSQL Serverの制御の外部で実行されているコードからの応答を待っています。通常、これはリンクサーバーから、そして特定の例ではSQL ServerがSSAがそのクエリに対する応答を提供するのを待っている時間がある時間です。
このクエリをスピードアップするには、をSQL Server にすることができるものは何もありません。SSASには、ページングファイルにメモリからページが表示されないようにするために必要な専用のメモリが必要です。
所属していません dba.stackexchange