آموزش جامع Extended Events در SQL Server با مثال‌های عملی SQL Server | آموزش SQL Server

آموزش جامع Extended Events در SQL Server با مثال‌های عملی SQL Server

توسط admin | گروه SQL Server | 1405/05/03

نظرات 0

آموزش جامع Extended Events در SQL Server با مثال‌های عملی SQL Server

Extended Events یکی از ابزارها یا قابلیت‌های مهم اکوسیستم Microsoft SQL Server برای ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش است. این مقاله از تعریف پایه آغاز می‌کند و سپس به ساخت خط مبنا، خواندن خروجی، کنترل سربار و تبدیل مشاهده فنی به اقدام قابل سنجش می‌رسد. تمام مثال‌ها برای همین موضوع طراحی شده‌اند تا متن با مقاله‌های دیگر مجموعه هم‌پوشانی محتوایی نداشته باشد.

منبع اصلی داده در این موضوع «موتور Extended Events و Targetهای Ring Buffer یا Event File» است و خروجی‌های شاخص آن شامل رویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا می‌شود. بنابراین پیش از فعال‌سازی ابزار باید پرسش عملکردی مشخص باشد؛ برای نمونه، آیا تیم در پی ثبت خطاهای Deadlock است یا می‌خواهد پایش Queryهای کند را ارزیابی کند؟

مسیر دسترسی سریع مقاله Extended Events: بازگشت به راهنمای ابزارهای گرافیکی و خارجی پایش عملکرد SQL Server.

تعریف و جایگاه Extended Events

جایگاه Extended Events در چرخه عیب‌یابی بین مشاهده، تفسیر و اقدام قرار می‌گیرد. مشاهده خام تنها می‌گوید چه چیزی رخ داده است؛ تفسیر باید آن رخداد را با ظرفیت سرور، الگوی مصرف و تغییرات نرم‌افزار مرتبط کند؛ اقدام نیز باید فرضیه‌ای قابل بازگشت داشته باشد. این ابزار برای ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش مناسب است، اما به‌تنهایی علت ریشه‌ای را تضمین نمی‌کند.

در یک فرایند حرفه‌ای، ابتدا بازه زمانی و معیار موفقیت ثبت می‌شود. سپس داده از موتور Extended Events و Targetهای Ring Buffer یا Event File جمع‌آوری می‌گردد و شاخص‌هایی مانند رویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا کنار هم قرار می‌گیرند. اگر نتیجه با تجربه کاربران سازگار نبود، باید از ابزار مکمل در لایه سیستم‌عامل، موتور داده یا برنامه کاربردی کمک گرفت.

Extended Events - Architecture MapTechnical diagram 1 for Extended Events showing source, processing, output, use cases and performance checks.Extended Events Extended Events TargetRing BuExtended Events Action Timestamp SessionQuery Deadlock Query Login Failure1

تصویر نخست، معماری اختصاصی Extended Events را از منبع داده تا خروجی‌های قابل استفاده برای ثبت خطاهای Deadlock نشان می‌دهد.

نحو و الگوی خواندن داده در Extended Events

همه قابلیت‌های Extended Events یک دستور واحد ندارند، اما Query زیر نقطه شروع عملی برای مشاهده بخشی از داده مرتبط است. آن را ابتدا در محیط آزمایش اجرا کنید و نام پایگاه، مجوزها و نسخه موتور را با شرایط واقعی تطبیق دهید.

-- نمونه 1 اختصاصی Extended Events
        IF EXISTS(SELECT 1 FROM sys.server_event_sessions WHERE name=N'XE_Unique_10007') DROP EVENT SESSION [XE_Unique_10007] ON SERVER; CREATE EVENT SESSION [XE_Unique_10007] ON SERVER ADD EVENT sqlserver.error_reported(ACTION(sqlserver.sql_text,sqlserver.session_id) WHERE ([severity]>=(16))) ADD TARGET package0.ring_buffer; ALTER EVENT SESSION [XE_Unique_10007] ON SERVER STATE=START;
مولفهتوضیح اختصاصی
منبعموتور Extended Events و Targetهای Ring Buffer یا Event File
هدفثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش
خروجیرویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا
هشدارانتخاب رویدادهای بسیار پرتکرار بدون فیلتر می‌تواند حجم فایل و سربار را افزایش دهد

ده مثال عملی و غیرتکراری برای Extended Events

مثال 1: ساخت خط مبنای اولیه با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 1 روی موضوع «ثبت خطاهای Deadlock» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 1 اختصاصی Extended Events
        IF EXISTS(SELECT 1 FROM sys.server_event_sessions WHERE name=N'XE_Unique_10007') DROP EVENT SESSION [XE_Unique_10007] ON SERVER; CREATE EVENT SESSION [XE_Unique_10007] ON SERVER ADD EVENT sqlserver.error_reported(ACTION(sqlserver.sql_text,sqlserver.session_id) WHERE ([severity]>=(16))) ADD TARGET package0.ring_buffer; ALTER EVENT SESSION [XE_Unique_10007] ON SERVER STATE=START;
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده4
شاخص اصلیرویداد
وضعیت ارزیابینیازمند مقایسه با خط مبنا

نکته فنی نمونه 1 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ردیابی Login Failure تصمیم بگیرید.

مثال 2: تحلیل داده نمونه در محیط آزمایش با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 2 روی موضوع «پایش Queryهای کند» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 2 اختصاصی Extended Events
        SELECT name,startup_state,event_retention_mode_desc,max_dispatch_latency FROM sys.server_event_sessions ORDER BY name;
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده7
شاخص اصلیرویداد
وضعیت ارزیابینیازمند مقایسه با خط مبنا

نکته فنی نمونه 2 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره تحلیل Timeoutهای سمت سرور تصمیم بگیرید.

مثال 3: استفاده در گزارش روزانه با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 3 روی موضوع «ردیابی Login Failure» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 3 اختصاصی Extended Events
        SELECT s.name AS session_name,t.target_name,CAST(t.target_data AS xml) AS target_data FROM sys.dm_xe_session_targets AS t JOIN sys.dm_xe_sessions AS s ON s.address=t.event_session_address;
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده10
شاخص اصلیرویداد
وضعیت ارزیابیقابل قبول در نمونه آزمایشی

نکته فنی نمونه 3 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ثبت تغییر پلن یا Recompile تصمیم بگیرید.

مثال 4: اعمال فیلتر هدفمند با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 4 روی موضوع «تحلیل Timeoutهای سمت سرور» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 4 اختصاصی Extended Events
        SELECT p.name AS package_name,o.name AS event_name,o.description FROM sys.dm_xe_objects AS o JOIN sys.dm_xe_packages AS p ON p.guid=o.package_guid WHERE o.object_type='event' AND o.name LIKE N'%deadlock%';
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده13
شاخص اصلیرویداد
وضعیت ارزیابینیازمند مقایسه با خط مبنا

نکته فنی نمونه 4 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ثبت خطاهای Deadlock تصمیم بگیرید.

مثال 5: ترکیب با نمای سیستمی مکمل با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 5 روی موضوع «ثبت تغییر پلن یا Recompile» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 5 اختصاصی Extended Events
        SELECT p.name AS package_name,o.name AS action_name,o.description FROM sys.dm_xe_objects AS o JOIN sys.dm_xe_packages AS p ON p.guid=o.package_guid WHERE o.object_type='action' AND o.name LIKE N'%sql_text%';
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده16
شاخص اصلیرویداد
وضعیت ارزیابینیازمند مقایسه با خط مبنا

نکته فنی نمونه 5 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره پایش Queryهای کند تصمیم بگیرید.

Extended Events - Execution FlowTechnical diagram 2 for Extended Events showing source, processing, output, use cases and performance checks.Extended EventsInput Extended Events TargetRing BuCaptureNormalize DeadlockExtended Events Action Timestamp SessionQuery Query Login Failure2

تصویر دوم، جریان اجرای Extended Events را از دریافت ورودی تا تولید مشاهده قابل مقایسه برای ردیابی Login Failure ترسیم می‌کند.

مثال 6: بررسی نبود داده یا مقدار NULL با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 6 روی موضوع «ثبت خطاهای Deadlock» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 6 اختصاصی Extended Events
        ALTER EVENT SESSION [XE_Unique_10007] ON SERVER STATE=STOP; SELECT name FROM sys.server_event_sessions WHERE name=N'XE_Unique_10007';
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده2
شاخص اصلیرویداد
وضعیت ارزیابیقابل قبول در نمونه آزمایشی

نکته فنی نمونه 6 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ردیابی Login Failure تصمیم بگیرید.

مثال 7: آزمون وضعیت مرزی و بار غیرمعمول با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 7 روی موضوع «پایش Queryهای کند» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 7 اختصاصی Extended Events
        SELECT c.name,c.type_name,c.column_type,c.description FROM sys.dm_xe_object_columns AS c WHERE c.object_name='error_reported' ORDER BY c.column_type,c.name;
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده5
شاخص اصلیرویداد
وضعیت ارزیابینیازمند مقایسه با خط مبنا

نکته فنی نمونه 7 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره تحلیل Timeoutهای سمت سرور تصمیم بگیرید.

مثال 8: سناریوی عملیاتی سازمانی با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 8 روی موضوع «ردیابی Login Failure» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 8 اختصاصی Extended Events
        SELECT name,description,capabilities_desc FROM sys.dm_xe_objects WHERE object_type='target' ORDER BY name;
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده8
شاخص اصلیرویداد
وضعیت ارزیابینیازمند مقایسه با خط مبنا

نکته فنی نمونه 8 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ثبت تغییر پلن یا Recompile تصمیم بگیرید.

مثال 9: نمایش روش اشتباه و نسخه اصلاح‌شده با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 9 روی موضوع «تحلیل Timeoutهای سمت سرور» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود. روش اشتباه، اجرای پایش بدون فیلتر و بدون تعیین مدت است؛ نسخه اصلاح‌شده Query را محدود می‌کند تا داده مرتبط با Extended Events استخراج شود.

-- نمونه 9 اختصاصی Extended Events
        SELECT s.name,ds.create_time,ds.largest_event_dropped_size FROM sys.dm_xe_sessions AS ds JOIN sys.server_event_sessions AS s ON s.name=ds.name;
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده11
شاخص اصلیرویداد
وضعیت ارزیابیقابل قبول در نمونه آزمایشی

نکته فنی نمونه 9 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ثبت خطاهای Deadlock تصمیم بگیرید.

مثال 10: کنترل کارایی و هزینه پایش با Extended Events

در این سناریوی اختصاصی، هدف آن است که ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش به شکلی قابل اندازه‌گیری بررسی شود. نمونه شماره 10 روی موضوع «ثبت تغییر پلن یا Recompile» تمرکز دارد و خروجی آن برای تصمیم‌گیری عملیاتی استفاده می‌شود.

-- نمونه 10 اختصاصی Extended Events
        IF EXISTS(SELECT 1 FROM sys.server_event_sessions WHERE name=N'XE_Unique_10007') DROP EVENT SESSION [XE_Unique_10007] ON SERVER;
معیار خروجیمقدار نمونه
ردیف‌های مشاهده‌شده14
شاخص اصلیرویداد
وضعیت ارزیابینیازمند مقایسه با خط مبنا

نکته فنی نمونه 10 در Extended Events آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجه‌گیری شتاب‌زده، مقدار به‌دست‌آمده را با یک نمونه پیشین مقایسه کنید و سپس درباره پایش Queryهای کند تصمیم بگیرید. در محیط پرترافیک، ابتدا هزینه خود ابزار را بسنجید؛ زیرا انتخاب رویدادهای بسیار پرتکرار بدون فیلتر می‌تواند حجم فایل و سربار را افزایش دهد.

خطاهای رایج در کار با Extended Events

  • در Extended Events، جمع‌آوری داده بدون سؤال مشخص خروجی حجیمی می‌سازد که هیچ تصمیمی را پشتیبانی نمی‌کند.
  • نادیده گرفتن هشدار اصلی این ابزار: انتخاب رویدادهای بسیار پرتکرار بدون فیلتر می‌تواند حجم فایل و سربار را افزایش دهد.
  • در تحلیل Extended Events، مقایسه دو بازه با حجم Workload متفاوت نتیجه بهبود یا افت را مخدوش می‌کند.
  • پس از مشاهده Extended Events، اعمال تغییر مستقیم در تولید بدون Baseline و معیار Rollback خطرناک است.
  • تفسیر Extended Events با تمرکز روی یک عدد و حذف زمینه‌هایی مانند Wait، I/O، Lock و رفتار برنامه ناقص می‌ماند.

ملاحظات کارایی و بهترین روش‌ها در Extended Events

هزینه پایش باید بخشی از طراحی باشد. برای Extended Events دامنه داده را به رویداد، Database، Session یا بازه لازم محدود کنید. نرخ تولید داده را در پنج دقیقه نخست اندازه بگیرید؛ اگر رشد خروجی از انتظار بیشتر بود، فیلتر یا فاصله نمونه‌برداری را اصلاح کنید. نتیجه معتبر زمانی ایجاد می‌شود که خود ابزار باعث تغییر محسوس در رفتار Workload نشود.

بهترین روش، ایجاد دفترچه تصمیم است: پرسش اولیه، زمان جمع‌آوری، نسخه SQL Server، تغییرات اخیر، معیارهای رویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا، تفسیر، اقدام و نتیجه پس از اقدام ثبت شوند. برای سناریوی تحلیل Timeoutهای سمت سرور بهتر است داده قبل و بعد از تغییر با یک بار کاری مشابه مقایسه شود.

Extended Events - Performance DecisionTechnical diagram 3 for Extended Events showing source, processing, output, use cases and performance checks.Extended EventsBaselineExtended EventsObservation Deadlock Action Timestamp SessionQueryBest Practice Query3

تصویر سوم، تصمیم فنی میان Baseline، مشاهده، هشدار Performance و Best Practice را برای Extended Events و سناریوی ثبت تغییر پلن یا Recompile خلاصه می‌کند.

سؤالات متداول اختصاصی Extended Events

پرسش 1: Extended Events دقیقاً چه مسئله‌ای را حل می‌کند؟

در زمینه Extended Events، این ابزار برای ثبت رویدادهای دقیق و کم‌سربار برای عیب‌یابی و پایش طراحی شده است و داده را از موتور Extended Events و Targetهای Ring Buffer یا Event File می‌گیرد. ارزش اصلی آن زمانی آشکار می‌شود که نتیجه با خط مبنا و هدف کسب‌وکار مقایسه شود.

پرسش 2: برای شروع کار با Extended Events چه پیش‌نیازی لازم است؟

در زمینه Extended Events، دسترسی مشاهده DMVها یا مجوز مناسب ابزار، تعیین بازه پایش و شناخت بار عادی سامانه لازم است. پیش از اجرا نیز باید مشخص شود کدام‌یک از خروجی‌های «رویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا» واقعاً اهمیت دارد.

پرسش 3: آیا Extended Events برای پروژه تجاری کوچک هم ارزش دارد؟

در زمینه Extended Events، بله، اما دامنه جمع‌آوری باید متناسب با اندازه سامانه باشد. در پروژه کوچک می‌توان از یک سناریوی محدود مانند ثبت خطاهای Deadlock شروع کرد و تنها در صورت نیاز جزئیات بیشتری ثبت کرد.

پرسش 4: چگونه خروجی Extended Events به کاهش هزینه عملیاتی کمک می‌کند؟

در زمینه Extended Events، با شناسایی دقیق منبع مصرف یا رگرسیون، تیم از تغییرات حدسی دور می‌شود. این موضوع زمان عیب‌یابی، ریسک توقف سرویس و هزینه تهیه سخت‌افزار بدون ضرورت را کاهش می‌دهد.

پرسش 5: Extended Events با ابزارهای نزدیک چه تفاوتی دارد؟

در زمینه Extended Events، تمایز اصلی در منبع داده و عمق تحلیل است؛ این موضوع بر موتور Extended Events و Targetهای Ring Buffer یا Event File تکیه دارد، در حالی که ابزار دیگر ممکن است فقط نمای لحظه‌ای یا گزارش سطح سیستم‌عامل ارائه کند.

پرسش 6: برای پیاده‌سازی حرفه‌ای Extended Events چه خدماتی مفید است؟

در زمینه Extended Events، طراحی Baseline، انتخاب فیلتر، ساخت گزارش، تحلیل خروجی و مستندسازی اقدام اصلاحی از خدمات رایج مشاوره SQL Server هستند. این مراحل باید با نیاز واقعی پروژه هماهنگ شوند.

پرسش 7: رایج‌ترین خطا هنگام استفاده از Extended Events چیست؟

در زمینه Extended Events، رایج‌ترین خطا تفسیر یک نمونه منفرد بدون زمینه است. همچنین باید به این هشدار توجه شود که انتخاب رویدادهای بسیار پرتکرار بدون فیلتر می‌تواند حجم فایل و سربار را افزایش دهد.

پرسش 8: اثر Performance خود Extended Events چگونه کنترل می‌شود؟

در زمینه Extended Events، رویدادها یا Counterها را محدود، مدت جمع‌آوری را مشخص و حجم خروجی را اندازه‌گیری کنید. سپس مصرف CPU، I/O و فضای ذخیره‌سازی ابزار را جدا از Workload اصلی ثبت کنید.

پرسش 9: بهترین روش عملی برای Extended Events چیست؟

در زمینه Extended Events، با یک پرسش مشخص مانند «پایش Queryهای کند» شروع کنید، داده حداقلی لازم را جمع‌آوری کنید، نتیجه را با Baseline بسنجید و اقدام اصلاحی را همراه با معیار بازگشت ثبت کنید.

پرسش 10: سازگاری نسخه‌ای Extended Events را چگونه بررسی کنیم؟

در زمینه Extended Events، قابلیت‌ها و نام DMVها میان نسخه‌های SQL Server، Azure SQL و SSMS می‌توانند تفاوت داشته باشند. قبل از اجرای اسکریپت در تولید، آن را روی همان Edition و Compatibility Level آزمایش کنید.

سؤالات مصاحبه درباره Extended Events

  1. توضیح دهید چرا Extended Events برای ثبت خطاهای Deadlock مناسب است.
  2. چگونه سربار Extended Events را در یک سرور پرترافیک اندازه‌گیری می‌کنید؟
  3. بین خروجی‌های رویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا کدام معیار را برای تشخیص اولیه انتخاب می‌کنید و چرا؟
  4. اگر داده Extended Events با تجربه کاربر ناسازگار باشد، چه منابع مکملی را بررسی می‌کنید؟
  5. یک برنامه بازگشت برای تغییری که بر اساس Extended Events پیشنهاد شده طراحی کنید.

چک‌لیست نهایی Extended Events

  • در Extended Events پرسش پایش برای ثبت خطاهای Deadlock نوشته شده است.
  • برای Extended Events مجوز دسترسی به موتور Extended Events و Targetهای Ring Buffer یا Event File بررسی شده است.
  • بازه زمانی و حجم خروجی Extended Events محدود شده است.
  • برای Extended Events حداقل دو معیار از رویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا ثبت شده است.
  • تأثیر Extended Events بر CPU، I/O و فضای دیسک سنجیده شده است.
  • اقدام اصلاحی مبتنی بر Extended Events و برنامه بازگشت مستند شده است.

جمع‌بندی آموزش Extended Events

Extended Events زمانی بیشترین ارزش را دارد که برای یک مسئله محدود مانند ثبت خطاهای Deadlock به کار رود و خروجی آن با Baseline سنجیده شود. داده‌های رویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا باید در کنار زمینه Workload تفسیر شوند. با رعایت فیلتر، زمان‌بندی و کنترل سربار می‌توان از این قابلیت برای تصمیم‌های قابل دفاع در SQL Server استفاده کرد.

برای مقایسه Extended Events با تمام گزینه‌های مجموعه، راهنمای جامع ابزارهای گرافیکی و خارجی عملکرد SQL Server را مطالعه کنید.

خدمات برنامه‌نویسی و پایگاه داده

برنامه‌نویسی در اصفهان؛ قبول سفارش‌های برنامه‌نویسی و پایگاه داده با شماره 09131253620.

انجام پروژه، آموزش برنامه‌نویسی و آموزش SQL Server توسط مجموعه‌ای معتبر با سابقه فعالیت حرفه‌ای از سال ۱۳۷۵ شمسی تاکنون.

برای سفارش پروژه‌های برنامه‌نویسی، پایگاه داده، سیستم‌های تحت وب، وب‌سایت و راهکارهای نرم‌افزاری با 09131253620 تماس بگیرید.

ایتا، واتساپ و تماس مستقیم: +989131253620؛ تماس با ما.

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر