آموزش جامع 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 را از منبع داده تا خروجیهای قابل استفاده برای ثبت خطاهای 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 را از دریافت ورودی تا تولید مشاهده قابل مقایسه برای ردیابی 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های سمت سرور بهتر است داده قبل و بعد از تغییر با یک بار کاری مشابه مقایسه شود.
تصویر سوم، تصمیم فنی میان 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
- توضیح دهید چرا Extended Events برای ثبت خطاهای Deadlock مناسب است.
- چگونه سربار Extended Events را در یک سرور پرترافیک اندازهگیری میکنید؟
- بین خروجیهای رویداد، Action، Timestamp، Session، Query Text و اطلاعات خطا کدام معیار را برای تشخیص اولیه انتخاب میکنید و چرا؟
- اگر داده Extended Events با تجربه کاربر ناسازگار باشد، چه منابع مکملی را بررسی میکنید؟
- یک برنامه بازگشت برای تغییری که بر اساس 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؛ تماس با ما.