Pregunta

He creado recientemente un servidor vinculado a uno de mis servidores SSAS.

Cuando sigo adelante y abro los catálogos, para ver qué bases de datos SSAS que tengo allí, Yo uso el siguiente procedimiento:

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

Así es como lo llamo:

sys.sp_catalogs 'sasbidev01'

Cuando veo que toma demasiado tiempo, verifico lo que se está ejecutando:

 ingrese la descripción de la imagen aquí

Veo el tipo de espera OLEDB.

¿Esto es por su cuenta, indicación de que podría hacer algo para mejorar la velocidad de esta conexión?

La creación de script de servidor vinculado:

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

¿Fue útil?

Solución

the OLEDB Tipo de espera es lo que utiliza SQL Server para informar la cantidad deEl tiempo está esperando una respuesta del código que se ejecuta fuera del control de SQL Server a través de un proveedor OLEDB.Por lo general, esto es de un servidor vinculado, y en su ejemplo particular es la cantidad de tiempo que SQL Server está esperando que SSA proporcione su respuesta a esa consulta.

No hay nada que pueda hacerlo a SQL Server para acelerar esta consulta.Debe asegurarse de que SSA tenga la memoria dedicada requerida para asegurarse de que nunca se escapa de la memoria en el archivo de paginación. Esta página de Microsoft Docs podría ser útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top