كيف يمكنني تقليل أوليدب نوع الانتظار في اتصال الخادم سس مرتبطة?

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

سؤال

لقد أنشأت مؤخرا ملقم مرتبط إلى واحد من خوادم سس بلدي.

عندما أذهب إلى الأمام وفتح الكتالوجات ، لمعرفة أي قواعد البيانات سس لدي هناك, أستخدم الإجراء التالي:

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'

عندما أرى أن الأمر يستغرق وقتا طويلا ، أتحقق مما يتم تشغيله:

enter image description here

أرى نوع الانتظار أوليدب.

هل هذا من تلقاء نفسه, إشارة إلى أنه يمكنني فعل شيء لتحسين سرعة هذا الاتصال?

إنشاء البرنامج النصي للخادم المرتبط:

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 نوع الانتظار هو ما يستخدم سكل سيرفر للإبلاغ عن مقدار الوقت الذي ينتظر استجابة من التعليمات البرمجية التي تعمل خارج سيطرة سكل سيرفر عبر مزود أوليدب.عادة ، هذا من خادم مرتبط ، وفي المثال الخاص بك هو مقدار الوقت سكل سيرفر ينتظر سس لتوفير ردها على هذا الاستعلام.

لا يوجد شيء يمكنك القيام به إلى سكل سيرفر لتسريع هذا الاستعلام.تحتاج إلى التأكد من سس لديه الذاكرة المخصصة المطلوبة لضمان أنه لم يحصل على مقسم إلى صفحات من الذاكرة إلى ملف ترحيل الصفحات. هذه الصفحة مستندات مايكروسوفت قد يكون مفيدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى dba.stackexchange
scroll top