آموزش جامع XEvent Profiler در SSMS با مثالهای عملی SQL Server
XEvent Profiler یکی از ابزارها یا قابلیتهای مهم اکوسیستم Microsoft SQL Server برای شروع سریع نشست Extended Events با رابط گرافیکی است. این مقاله از تعریف پایه آغاز میکند و سپس به ساخت خط مبنا، خواندن خروجی، کنترل سربار و تبدیل مشاهده فنی به اقدام قابل سنجش میرسد. تمام مثالها برای همین موضوع طراحی شدهاند تا متن با مقالههای دیگر مجموعه همپوشانی محتوایی نداشته باشد.
منبع اصلی داده در این موضوع «Sessionهای آماده Standard و TSQL در SSMS» است و خروجیهای شاخص آن شامل جریان رویدادهای زنده، Batch، RPC، Duration و خطاها میشود. بنابراین پیش از فعالسازی ابزار باید پرسش عملکردی مشخص باشد؛ برای نمونه، آیا تیم در پی مشاهده سریع Batchهای ورودی است یا میخواهد تشخیص RPC کند را ارزیابی کند؟
مسیر دسترسی سریع مقاله XEvent Profiler: بازگشت به راهنمای ابزارهای گرافیکی و خارجی پایش عملکرد SQL Server.
تعریف و جایگاه XEvent Profiler
جایگاه XEvent Profiler در چرخه عیبیابی بین مشاهده، تفسیر و اقدام قرار میگیرد. مشاهده خام تنها میگوید چه چیزی رخ داده است؛ تفسیر باید آن رخداد را با ظرفیت سرور، الگوی مصرف و تغییرات نرمافزار مرتبط کند؛ اقدام نیز باید فرضیهای قابل بازگشت داشته باشد. این ابزار برای شروع سریع نشست Extended Events با رابط گرافیکی مناسب است، اما بهتنهایی علت ریشهای را تضمین نمیکند.
در یک فرایند حرفهای، ابتدا بازه زمانی و معیار موفقیت ثبت میشود. سپس داده از Sessionهای آماده Standard و TSQL در SSMS جمعآوری میگردد و شاخصهایی مانند جریان رویدادهای زنده، Batch، RPC، Duration و خطاها کنار هم قرار میگیرند. اگر نتیجه با تجربه کاربران سازگار نبود، باید از ابزار مکمل در لایه سیستمعامل، موتور داده یا برنامه کاربردی کمک گرفت.
تصویر نخست، معماری اختصاصی XEvent Profiler را از منبع داده تا خروجیهای قابل استفاده برای مشاهده سریع Batchهای ورودی نشان میدهد.
نحو و الگوی خواندن داده در XEvent Profiler
همه قابلیتهای XEvent Profiler یک دستور واحد ندارند، اما Query زیر نقطه شروع عملی برای مشاهده بخشی از داده مرتبط است. آن را ابتدا در محیط آزمایش اجرا کنید و نام پایگاه، مجوزها و نسخه موتور را با شرایط واقعی تطبیق دهید.
-- نمونه 1 اختصاصی XEvent Profiler
SELECT name,startup_state FROM sys.server_event_sessions WHERE name LIKE N'QuickSession%';
| مولفه | توضیح اختصاصی |
|---|
| منبع | Sessionهای آماده Standard و TSQL در SSMS |
| هدف | شروع سریع نشست Extended Events با رابط گرافیکی |
| خروجی | جریان رویدادهای زنده، Batch، RPC، Duration و خطاها |
| هشدار | استفاده طولانی از نمای زنده و رویدادهای گسترده روی سرور پرترافیک مناسب نیست |
ده مثال عملی و غیرتکراری برای XEvent Profiler
مثال 1: ساخت خط مبنای اولیه با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 1 روی موضوع «مشاهده سریع Batchهای ورودی» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 1 اختصاصی XEvent Profiler
SELECT name,startup_state FROM sys.server_event_sessions WHERE name LIKE N'QuickSession%';
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 4 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 1 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره بررسی پارامترهای ارسالی برنامه تصمیم بگیرید.
مثال 2: تحلیل داده نمونه در محیط آزمایش با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 2 روی موضوع «تشخیص RPC کند» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 2 اختصاصی XEvent Profiler
SELECT s.name,t.target_name FROM sys.dm_xe_sessions AS s JOIN sys.dm_xe_session_targets AS t ON t.event_session_address=s.address WHERE s.name LIKE N'QuickSession%';
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 7 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 2 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ثبت خطا در زمان تست تصمیم بگیرید.
مثال 3: استفاده در گزارش روزانه با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 3 روی موضوع «بررسی پارامترهای ارسالی برنامه» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 3 اختصاصی XEvent Profiler
SELECT o.name,o.description FROM sys.dm_xe_objects AS o WHERE o.object_type='event' AND o.name IN ('rpc_completed','sql_batch_completed');
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 10 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | قابل قبول در نمونه آزمایشی |
نکته فنی نمونه 3 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره جایگزینی سریع Profiler قدیمی تصمیم بگیرید.
مثال 4: اعمال فیلتر هدفمند با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 4 روی موضوع «ثبت خطا در زمان تست» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 4 اختصاصی XEvent Profiler
SELECT c.object_name,c.name,c.type_name FROM sys.dm_xe_object_columns AS c WHERE c.object_name IN ('rpc_completed','sql_batch_completed') ORDER BY c.object_name,c.name;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 13 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 4 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره مشاهده سریع Batchهای ورودی تصمیم بگیرید.
مثال 5: ترکیب با نمای سیستمی مکمل با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 5 روی موضوع «جایگزینی سریع Profiler قدیمی» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 5 اختصاصی XEvent Profiler
SELECT name,event_retention_mode_desc,max_memory,max_dispatch_latency FROM sys.server_event_sessions WHERE name LIKE N'QuickSession%';
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 16 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 5 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره تشخیص RPC کند تصمیم بگیرید.
تصویر دوم، جریان اجرای XEvent Profiler را از دریافت ورودی تا تولید مشاهده قابل مقایسه برای بررسی پارامترهای ارسالی برنامه ترسیم میکند.
مثال 6: بررسی نبود داده یا مقدار NULL با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 6 روی موضوع «مشاهده سریع Batchهای ورودی» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 6 اختصاصی XEvent Profiler
SELECT s.name,CAST(t.target_data AS xml) AS live_target FROM sys.dm_xe_sessions AS s JOIN sys.dm_xe_session_targets AS t ON t.event_session_address=s.address WHERE s.name LIKE N'QuickSession%';
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 2 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | قابل قبول در نمونه آزمایشی |
نکته فنی نمونه 6 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره بررسی پارامترهای ارسالی برنامه تصمیم بگیرید.
مثال 7: آزمون وضعیت مرزی و بار غیرمعمول با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 7 روی موضوع «تشخیص RPC کند» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 7 اختصاصی XEvent Profiler
SELECT p.name,o.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='predicate_source';
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 5 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 7 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ثبت خطا در زمان تست تصمیم بگیرید.
مثال 8: سناریوی عملیاتی سازمانی با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 8 روی موضوع «بررسی پارامترهای ارسالی برنامه» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 8 اختصاصی XEvent Profiler
SELECT name,description FROM sys.dm_xe_objects WHERE object_type='map' AND name LIKE N'%statement%';
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 8 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 8 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره جایگزینی سریع Profiler قدیمی تصمیم بگیرید.
مثال 9: نمایش روش اشتباه و نسخه اصلاحشده با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 9 روی موضوع «ثبت خطا در زمان تست» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود. روش اشتباه، اجرای پایش بدون فیلتر و بدون تعیین مدت است؛ نسخه اصلاحشده Query را محدود میکند تا داده مرتبط با XEvent Profiler استخراج شود.
-- نمونه 9 اختصاصی XEvent Profiler
SELECT name,capabilities_desc FROM sys.dm_xe_objects WHERE object_type='target';
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 11 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | قابل قبول در نمونه آزمایشی |
نکته فنی نمونه 9 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره مشاهده سریع Batchهای ورودی تصمیم بگیرید.
مثال 10: کنترل کارایی و هزینه پایش با XEvent Profiler
در این سناریوی اختصاصی، هدف آن است که شروع سریع نشست Extended Events با رابط گرافیکی به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 10 روی موضوع «جایگزینی سریع Profiler قدیمی» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 10 اختصاصی XEvent Profiler
SELECT name,startup_state FROM sys.server_event_sessions ORDER BY CASE WHEN name LIKE N'QuickSession%' THEN 0 ELSE 1 END,name;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 14 |
| شاخص اصلی | جریان رویدادهای زنده |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 10 در XEvent Profiler آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره تشخیص RPC کند تصمیم بگیرید. در محیط پرترافیک، ابتدا هزینه خود ابزار را بسنجید؛ زیرا استفاده طولانی از نمای زنده و رویدادهای گسترده روی سرور پرترافیک مناسب نیست.
خطاهای رایج در کار با XEvent Profiler
- در XEvent Profiler، جمعآوری داده بدون سؤال مشخص خروجی حجیمی میسازد که هیچ تصمیمی را پشتیبانی نمیکند.
- نادیده گرفتن هشدار اصلی این ابزار: استفاده طولانی از نمای زنده و رویدادهای گسترده روی سرور پرترافیک مناسب نیست.
- در تحلیل XEvent Profiler، مقایسه دو بازه با حجم Workload متفاوت نتیجه بهبود یا افت را مخدوش میکند.
- پس از مشاهده XEvent Profiler، اعمال تغییر مستقیم در تولید بدون Baseline و معیار Rollback خطرناک است.
- تفسیر XEvent Profiler با تمرکز روی یک عدد و حذف زمینههایی مانند Wait، I/O، Lock و رفتار برنامه ناقص میماند.
ملاحظات کارایی و بهترین روشها در XEvent Profiler
هزینه پایش باید بخشی از طراحی باشد. برای XEvent Profiler دامنه داده را به رویداد، Database، Session یا بازه لازم محدود کنید. نرخ تولید داده را در پنج دقیقه نخست اندازه بگیرید؛ اگر رشد خروجی از انتظار بیشتر بود، فیلتر یا فاصله نمونهبرداری را اصلاح کنید. نتیجه معتبر زمانی ایجاد میشود که خود ابزار باعث تغییر محسوس در رفتار Workload نشود.
بهترین روش، ایجاد دفترچه تصمیم است: پرسش اولیه، زمان جمعآوری، نسخه SQL Server، تغییرات اخیر، معیارهای جریان رویدادهای زنده، Batch، RPC، Duration و خطاها، تفسیر، اقدام و نتیجه پس از اقدام ثبت شوند. برای سناریوی ثبت خطا در زمان تست بهتر است داده قبل و بعد از تغییر با یک بار کاری مشابه مقایسه شود.
تصویر سوم، تصمیم فنی میان Baseline، مشاهده، هشدار Performance و Best Practice را برای XEvent Profiler و سناریوی جایگزینی سریع Profiler قدیمی خلاصه میکند.
سؤالات متداول اختصاصی XEvent Profiler
پرسش 1: XEvent Profiler دقیقاً چه مسئلهای را حل میکند؟
در زمینه XEvent Profiler، این ابزار برای شروع سریع نشست Extended Events با رابط گرافیکی طراحی شده است و داده را از Sessionهای آماده Standard و TSQL در SSMS میگیرد. ارزش اصلی آن زمانی آشکار میشود که نتیجه با خط مبنا و هدف کسبوکار مقایسه شود.
پرسش 2: برای شروع کار با XEvent Profiler چه پیشنیازی لازم است؟
در زمینه XEvent Profiler، دسترسی مشاهده DMVها یا مجوز مناسب ابزار، تعیین بازه پایش و شناخت بار عادی سامانه لازم است. پیش از اجرا نیز باید مشخص شود کدامیک از خروجیهای «جریان رویدادهای زنده، Batch، RPC، Duration و خطاها» واقعاً اهمیت دارد.
پرسش 3: آیا XEvent Profiler برای پروژه تجاری کوچک هم ارزش دارد؟
در زمینه XEvent Profiler، بله، اما دامنه جمعآوری باید متناسب با اندازه سامانه باشد. در پروژه کوچک میتوان از یک سناریوی محدود مانند مشاهده سریع Batchهای ورودی شروع کرد و تنها در صورت نیاز جزئیات بیشتری ثبت کرد.
پرسش 4: چگونه خروجی XEvent Profiler به کاهش هزینه عملیاتی کمک میکند؟
در زمینه XEvent Profiler، با شناسایی دقیق منبع مصرف یا رگرسیون، تیم از تغییرات حدسی دور میشود. این موضوع زمان عیبیابی، ریسک توقف سرویس و هزینه تهیه سختافزار بدون ضرورت را کاهش میدهد.
پرسش 5: XEvent Profiler با ابزارهای نزدیک چه تفاوتی دارد؟
در زمینه XEvent Profiler، تمایز اصلی در منبع داده و عمق تحلیل است؛ این موضوع بر Sessionهای آماده Standard و TSQL در SSMS تکیه دارد، در حالی که ابزار دیگر ممکن است فقط نمای لحظهای یا گزارش سطح سیستمعامل ارائه کند.
پرسش 6: برای پیادهسازی حرفهای XEvent Profiler چه خدماتی مفید است؟
در زمینه XEvent Profiler، طراحی Baseline، انتخاب فیلتر، ساخت گزارش، تحلیل خروجی و مستندسازی اقدام اصلاحی از خدمات رایج مشاوره SQL Server هستند. این مراحل باید با نیاز واقعی پروژه هماهنگ شوند.
پرسش 7: رایجترین خطا هنگام استفاده از XEvent Profiler چیست؟
در زمینه XEvent Profiler، رایجترین خطا تفسیر یک نمونه منفرد بدون زمینه است. همچنین باید به این هشدار توجه شود که استفاده طولانی از نمای زنده و رویدادهای گسترده روی سرور پرترافیک مناسب نیست.
پرسش 8: اثر Performance خود XEvent Profiler چگونه کنترل میشود؟
در زمینه XEvent Profiler، رویدادها یا Counterها را محدود، مدت جمعآوری را مشخص و حجم خروجی را اندازهگیری کنید. سپس مصرف CPU، I/O و فضای ذخیرهسازی ابزار را جدا از Workload اصلی ثبت کنید.
پرسش 9: بهترین روش عملی برای XEvent Profiler چیست؟
در زمینه XEvent Profiler، با یک پرسش مشخص مانند «تشخیص RPC کند» شروع کنید، داده حداقلی لازم را جمعآوری کنید، نتیجه را با Baseline بسنجید و اقدام اصلاحی را همراه با معیار بازگشت ثبت کنید.
پرسش 10: سازگاری نسخهای XEvent Profiler را چگونه بررسی کنیم؟
در زمینه XEvent Profiler، قابلیتها و نام DMVها میان نسخههای SQL Server، Azure SQL و SSMS میتوانند تفاوت داشته باشند. قبل از اجرای اسکریپت در تولید، آن را روی همان Edition و Compatibility Level آزمایش کنید.
سؤالات مصاحبه درباره XEvent Profiler
- توضیح دهید چرا XEvent Profiler برای مشاهده سریع Batchهای ورودی مناسب است.
- چگونه سربار XEvent Profiler را در یک سرور پرترافیک اندازهگیری میکنید؟
- بین خروجیهای جریان رویدادهای زنده، Batch، RPC، Duration و خطاها کدام معیار را برای تشخیص اولیه انتخاب میکنید و چرا؟
- اگر داده XEvent Profiler با تجربه کاربر ناسازگار باشد، چه منابع مکملی را بررسی میکنید؟
- یک برنامه بازگشت برای تغییری که بر اساس XEvent Profiler پیشنهاد شده طراحی کنید.
چکلیست نهایی XEvent Profiler
- در XEvent Profiler پرسش پایش برای مشاهده سریع Batchهای ورودی نوشته شده است.
- برای XEvent Profiler مجوز دسترسی به Sessionهای آماده Standard و TSQL در SSMS بررسی شده است.
- بازه زمانی و حجم خروجی XEvent Profiler محدود شده است.
- برای XEvent Profiler حداقل دو معیار از جریان رویدادهای زنده، Batch، RPC، Duration و خطاها ثبت شده است.
- تأثیر XEvent Profiler بر CPU، I/O و فضای دیسک سنجیده شده است.
- اقدام اصلاحی مبتنی بر XEvent Profiler و برنامه بازگشت مستند شده است.
جمعبندی آموزش XEvent Profiler
XEvent Profiler زمانی بیشترین ارزش را دارد که برای یک مسئله محدود مانند مشاهده سریع Batchهای ورودی به کار رود و خروجی آن با Baseline سنجیده شود. دادههای جریان رویدادهای زنده، Batch، RPC، Duration و خطاها باید در کنار زمینه Workload تفسیر شوند. با رعایت فیلتر، زمانبندی و کنترل سربار میتوان از این قابلیت برای تصمیمهای قابل دفاع در SQL Server استفاده کرد.
برای مقایسه XEvent Profiler با تمام گزینههای مجموعه، راهنمای جامع ابزارهای گرافیکی و خارجی عملکرد SQL Server را مطالعه کنید.
خدمات برنامهنویسی و پایگاه داده
برنامهنویسی در اصفهان؛ قبول سفارشهای برنامهنویسی و پایگاه داده با شماره 09131253620.
انجام پروژه، آموزش برنامهنویسی و آموزش SQL Server توسط مجموعهای معتبر با سابقه فعالیت حرفهای از سال ۱۳۷۵ شمسی تاکنون.
برای سفارش پروژههای برنامهنویسی، پایگاه داده، سیستمهای تحت وب، وبسایت و راهکارهای نرمافزاری با 09131253620 تماس بگیرید.
ایتا، واتساپ و تماس مستقیم: +989131253620؛ تماس با ما.