Как я могу уменьшить тип ожидания OLEDB в соединении с подключенным сервером SSAS?

dba.stackexchange https://dba.stackexchange.com/questions/115098

Вопрос

Я недавно создал связанный сервер к одному из моих серверов 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
.

Это было полезно?

Решение

the Генеракодицетагкод ждать типа - это то, что использует SQL Server для сообщений о количествеВремя ожидает ответа от кода, работающего за пределами управления SQL Server через поставщик OLEDB.Как правило, это со связного сервера, и в вашем конкретном примере является количество времени SQL Server ждет SSA для предоставления его ответа на этот запрос.

Нет ничего, что вы не можете сделать на SQL Server , чтобы ускорить этот запрос.Вам необходимо убедиться, что SSAS имеет выделенную память, необходимую, чтобы убедиться, что она никогда не выходит из памяти в файл подкачки. Эта страница Microsoft Docs может быть полезна.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top