آموزش جامع PSSDiag برای عیبیابی پیشرفته SQL Server با مثالهای عملی SQL Server
PSSDiag یکی از ابزارها یا قابلیتهای مهم اکوسیستم Microsoft SQL Server برای جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده است. این مقاله از تعریف پایه آغاز میکند و سپس به ساخت خط مبنا، خواندن خروجی، کنترل سربار و تبدیل مشاهده فنی به اقدام قابل سنجش میرسد. تمام مثالها برای همین موضوع طراحی شدهاند تا متن با مقالههای دیگر مجموعه همپوشانی محتوایی نداشته باشد.
منبع اصلی داده در این موضوع «ابزار تشخیصی پشتیبانی مایکروسافت و Configuration Package» است و خروجیهای شاخص آن شامل Trace یا XE، PerfMon، DMV Snapshot، Log و Metadata میشود. بنابراین پیش از فعالسازی ابزار باید پرسش عملکردی مشخص باشد؛ برای نمونه، آیا تیم در پی بررسی Hang یا Freeze است یا میخواهد جمعآوری Blocking Chain را ارزیابی کند؟
مسیر دسترسی سریع مقاله PSSDiag: بازگشت به راهنمای ابزارهای گرافیکی و خارجی پایش عملکرد SQL Server.
تعریف و جایگاه PSSDiag
جایگاه PSSDiag در چرخه عیبیابی بین مشاهده، تفسیر و اقدام قرار میگیرد. مشاهده خام تنها میگوید چه چیزی رخ داده است؛ تفسیر باید آن رخداد را با ظرفیت سرور، الگوی مصرف و تغییرات نرمافزار مرتبط کند؛ اقدام نیز باید فرضیهای قابل بازگشت داشته باشد. این ابزار برای جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده مناسب است، اما بهتنهایی علت ریشهای را تضمین نمیکند.
در یک فرایند حرفهای، ابتدا بازه زمانی و معیار موفقیت ثبت میشود. سپس داده از ابزار تشخیصی پشتیبانی مایکروسافت و Configuration Package جمعآوری میگردد و شاخصهایی مانند Trace یا XE، PerfMon، DMV Snapshot، Log و Metadata کنار هم قرار میگیرند. اگر نتیجه با تجربه کاربران سازگار نبود، باید از ابزار مکمل در لایه سیستمعامل، موتور داده یا برنامه کاربردی کمک گرفت.
تصویر نخست، معماری اختصاصی PSSDiag را از منبع داده تا خروجیهای قابل استفاده برای بررسی Hang یا Freeze نشان میدهد.
نحو و الگوی خواندن داده در PSSDiag
همه قابلیتهای PSSDiag یک دستور واحد ندارند، اما Query زیر نقطه شروع عملی برای مشاهده بخشی از داده مرتبط است. آن را ابتدا در محیط آزمایش اجرا کنید و نام پایگاه، مجوزها و نسخه موتور را با شرایط واقعی تطبیق دهید.
-- نمونه 1 اختصاصی PSSDiag
SELECT GETDATE() AS capture_time,@@SERVERNAME AS server_name,@@VERSION AS version_info;
| مولفه | توضیح اختصاصی |
|---|
| منبع | ابزار تشخیصی پشتیبانی مایکروسافت و Configuration Package |
| هدف | جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده |
| خروجی | Trace یا XE، PerfMon، DMV Snapshot، Log و Metadata |
| هشدار | پیکربندی سنگین یا مدت اجرای نامحدود میتواند فایلهای بسیار بزرگ تولید کند |
ده مثال عملی و غیرتکراری برای PSSDiag
مثال 1: ساخت خط مبنای اولیه با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 1 روی موضوع «بررسی Hang یا Freeze» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 1 اختصاصی PSSDiag
SELECT GETDATE() AS capture_time,@@SERVERNAME AS server_name,@@VERSION AS version_info;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 4 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 1 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره تحلیل CPU Spike تصمیم بگیرید.
مثال 2: تحلیل داده نمونه در محیط آزمایش با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 2 روی موضوع «جمعآوری Blocking Chain» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 2 اختصاصی PSSDiag
SELECT name,value_in_use FROM sys.configurations WHERE name IN (N'max server memory (MB)',N'max degree of parallelism',N'cost threshold for parallelism');
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 7 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 2 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ردیابی خطاهای اتصال تصمیم بگیرید.
مثال 3: استفاده در گزارش روزانه با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 3 روی موضوع «تحلیل CPU Spike» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 3 اختصاصی PSSDiag
SELECT r.session_id,r.blocking_session_id,r.wait_type,r.wait_time,r.command FROM sys.dm_exec_requests AS r WHERE r.session_id<>@@SPID;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 10 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | قابل قبول در نمونه آزمایشی |
نکته فنی نمونه 3 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره آمادهسازی داده برای SQL Nexus تصمیم بگیرید.
مثال 4: اعمال فیلتر هدفمند با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 4 روی موضوع «ردیابی خطاهای اتصال» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 4 اختصاصی PSSDiag
SELECT TOP (25) wait_type,wait_time_ms,signal_wait_time_ms FROM sys.dm_os_wait_stats ORDER BY wait_time_ms DESC;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 13 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 4 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره بررسی Hang یا Freeze تصمیم بگیرید.
مثال 5: ترکیب با نمای سیستمی مکمل با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 5 روی موضوع «آمادهسازی داده برای SQL Nexus» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 5 اختصاصی PSSDiag
SELECT scheduler_id,runnable_tasks_count,current_workers_count,active_workers_count FROM sys.dm_os_schedulers WHERE status='VISIBLE ONLINE';
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 16 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 5 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره جمعآوری Blocking Chain تصمیم بگیرید.
تصویر دوم، جریان اجرای PSSDiag را از دریافت ورودی تا تولید مشاهده قابل مقایسه برای تحلیل CPU Spike ترسیم میکند.
مثال 6: بررسی نبود داده یا مقدار NULL با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 6 روی موضوع «بررسی Hang یا Freeze» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 6 اختصاصی PSSDiag
SELECT physical_memory_in_use_kb,locked_page_allocations_kb,process_physical_memory_low FROM sys.dm_os_process_memory;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 2 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | قابل قبول در نمونه آزمایشی |
نکته فنی نمونه 6 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره تحلیل CPU Spike تصمیم بگیرید.
مثال 7: آزمون وضعیت مرزی و بار غیرمعمول با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 7 روی موضوع «جمعآوری Blocking Chain» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 7 اختصاصی PSSDiag
SELECT DB_NAME(v.database_id) AS database_name,m.name,v.io_stall_read_ms,v.io_stall_write_ms FROM sys.dm_io_virtual_file_stats(NULL,NULL) AS v JOIN sys.master_files AS m ON m.database_id=v.database_id AND m.file_id=v.file_id;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 5 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 7 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره ردیابی خطاهای اتصال تصمیم بگیرید.
مثال 8: سناریوی عملیاتی سازمانی با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 8 روی موضوع «تحلیل CPU Spike» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 8 اختصاصی PSSDiag
SELECT TOP (25) qs.total_worker_time,qs.total_elapsed_time,qs.execution_count,st.text FROM sys.dm_exec_query_stats AS qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st ORDER BY qs.total_worker_time DESC;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 8 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 8 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره آمادهسازی داده برای SQL Nexus تصمیم بگیرید.
مثال 9: نمایش روش اشتباه و نسخه اصلاحشده با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 9 روی موضوع «ردیابی خطاهای اتصال» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود. روش اشتباه، اجرای پایش بدون فیلتر و بدون تعیین مدت است؛ نسخه اصلاحشده Query را محدود میکند تا داده مرتبط با PSSDiag استخراج شود.
-- نمونه 9 اختصاصی PSSDiag
SELECT request_session_id,resource_type,request_mode,request_status FROM sys.dm_tran_locks ORDER BY request_session_id;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 11 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | قابل قبول در نمونه آزمایشی |
نکته فنی نمونه 9 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره بررسی Hang یا Freeze تصمیم بگیرید.
مثال 10: کنترل کارایی و هزینه پایش با PSSDiag
در این سناریوی اختصاصی، هدف آن است که جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده به شکلی قابل اندازهگیری بررسی شود. نمونه شماره 10 روی موضوع «آمادهسازی داده برای SQL Nexus» تمرکز دارد و خروجی آن برای تصمیمگیری عملیاتی استفاده میشود.
-- نمونه 10 اختصاصی PSSDiag
SELECT GETUTCDATE() AS capture_utc,COUNT(*) AS active_user_sessions FROM sys.dm_exec_sessions WHERE is_user_process=1;
| معیار خروجی | مقدار نمونه |
|---|
| ردیفهای مشاهدهشده | 14 |
| شاخص اصلی | Trace یا XE |
| وضعیت ارزیابی | نیازمند مقایسه با خط مبنا |
نکته فنی نمونه 10 در PSSDiag آن است که نتیجه نباید جدا از بازه زمانی، بار جاری و پیکربندی سرور تفسیر شود. برای جلوگیری از نتیجهگیری شتابزده، مقدار بهدستآمده را با یک نمونه پیشین مقایسه کنید و سپس درباره جمعآوری Blocking Chain تصمیم بگیرید. در محیط پرترافیک، ابتدا هزینه خود ابزار را بسنجید؛ زیرا پیکربندی سنگین یا مدت اجرای نامحدود میتواند فایلهای بسیار بزرگ تولید کند.
خطاهای رایج در کار با PSSDiag
- در PSSDiag، جمعآوری داده بدون سؤال مشخص خروجی حجیمی میسازد که هیچ تصمیمی را پشتیبانی نمیکند.
- نادیده گرفتن هشدار اصلی این ابزار: پیکربندی سنگین یا مدت اجرای نامحدود میتواند فایلهای بسیار بزرگ تولید کند.
- در تحلیل PSSDiag، مقایسه دو بازه با حجم Workload متفاوت نتیجه بهبود یا افت را مخدوش میکند.
- پس از مشاهده PSSDiag، اعمال تغییر مستقیم در تولید بدون Baseline و معیار Rollback خطرناک است.
- تفسیر PSSDiag با تمرکز روی یک عدد و حذف زمینههایی مانند Wait، I/O، Lock و رفتار برنامه ناقص میماند.
ملاحظات کارایی و بهترین روشها در PSSDiag
هزینه پایش باید بخشی از طراحی باشد. برای PSSDiag دامنه داده را به رویداد، Database، Session یا بازه لازم محدود کنید. نرخ تولید داده را در پنج دقیقه نخست اندازه بگیرید؛ اگر رشد خروجی از انتظار بیشتر بود، فیلتر یا فاصله نمونهبرداری را اصلاح کنید. نتیجه معتبر زمانی ایجاد میشود که خود ابزار باعث تغییر محسوس در رفتار Workload نشود.
بهترین روش، ایجاد دفترچه تصمیم است: پرسش اولیه، زمان جمعآوری، نسخه SQL Server، تغییرات اخیر، معیارهای Trace یا XE، PerfMon، DMV Snapshot، Log و Metadata، تفسیر، اقدام و نتیجه پس از اقدام ثبت شوند. برای سناریوی ردیابی خطاهای اتصال بهتر است داده قبل و بعد از تغییر با یک بار کاری مشابه مقایسه شود.
تصویر سوم، تصمیم فنی میان Baseline، مشاهده، هشدار Performance و Best Practice را برای PSSDiag و سناریوی آمادهسازی داده برای SQL Nexus خلاصه میکند.
سؤالات متداول اختصاصی PSSDiag
پرسش 1: PSSDiag دقیقاً چه مسئلهای را حل میکند؟
در زمینه PSSDiag، این ابزار برای جمعآوری سفارشی دادههای عمیق برای رخدادهای پیچیده طراحی شده است و داده را از ابزار تشخیصی پشتیبانی مایکروسافت و Configuration Package میگیرد. ارزش اصلی آن زمانی آشکار میشود که نتیجه با خط مبنا و هدف کسبوکار مقایسه شود.
پرسش 2: برای شروع کار با PSSDiag چه پیشنیازی لازم است؟
در زمینه PSSDiag، دسترسی مشاهده DMVها یا مجوز مناسب ابزار، تعیین بازه پایش و شناخت بار عادی سامانه لازم است. پیش از اجرا نیز باید مشخص شود کدامیک از خروجیهای «Trace یا XE، PerfMon، DMV Snapshot، Log و Metadata» واقعاً اهمیت دارد.
پرسش 3: آیا PSSDiag برای پروژه تجاری کوچک هم ارزش دارد؟
در زمینه PSSDiag، بله، اما دامنه جمعآوری باید متناسب با اندازه سامانه باشد. در پروژه کوچک میتوان از یک سناریوی محدود مانند بررسی Hang یا Freeze شروع کرد و تنها در صورت نیاز جزئیات بیشتری ثبت کرد.
پرسش 4: چگونه خروجی PSSDiag به کاهش هزینه عملیاتی کمک میکند؟
در زمینه PSSDiag، با شناسایی دقیق منبع مصرف یا رگرسیون، تیم از تغییرات حدسی دور میشود. این موضوع زمان عیبیابی، ریسک توقف سرویس و هزینه تهیه سختافزار بدون ضرورت را کاهش میدهد.
پرسش 5: PSSDiag با ابزارهای نزدیک چه تفاوتی دارد؟
در زمینه PSSDiag، تمایز اصلی در منبع داده و عمق تحلیل است؛ این موضوع بر ابزار تشخیصی پشتیبانی مایکروسافت و Configuration Package تکیه دارد، در حالی که ابزار دیگر ممکن است فقط نمای لحظهای یا گزارش سطح سیستمعامل ارائه کند.
پرسش 6: برای پیادهسازی حرفهای PSSDiag چه خدماتی مفید است؟
در زمینه PSSDiag، طراحی Baseline، انتخاب فیلتر، ساخت گزارش، تحلیل خروجی و مستندسازی اقدام اصلاحی از خدمات رایج مشاوره SQL Server هستند. این مراحل باید با نیاز واقعی پروژه هماهنگ شوند.
پرسش 7: رایجترین خطا هنگام استفاده از PSSDiag چیست؟
در زمینه PSSDiag، رایجترین خطا تفسیر یک نمونه منفرد بدون زمینه است. همچنین باید به این هشدار توجه شود که پیکربندی سنگین یا مدت اجرای نامحدود میتواند فایلهای بسیار بزرگ تولید کند.
پرسش 8: اثر Performance خود PSSDiag چگونه کنترل میشود؟
در زمینه PSSDiag، رویدادها یا Counterها را محدود، مدت جمعآوری را مشخص و حجم خروجی را اندازهگیری کنید. سپس مصرف CPU، I/O و فضای ذخیرهسازی ابزار را جدا از Workload اصلی ثبت کنید.
پرسش 9: بهترین روش عملی برای PSSDiag چیست؟
در زمینه PSSDiag، با یک پرسش مشخص مانند «جمعآوری Blocking Chain» شروع کنید، داده حداقلی لازم را جمعآوری کنید، نتیجه را با Baseline بسنجید و اقدام اصلاحی را همراه با معیار بازگشت ثبت کنید.
پرسش 10: سازگاری نسخهای PSSDiag را چگونه بررسی کنیم؟
در زمینه PSSDiag، قابلیتها و نام DMVها میان نسخههای SQL Server، Azure SQL و SSMS میتوانند تفاوت داشته باشند. قبل از اجرای اسکریپت در تولید، آن را روی همان Edition و Compatibility Level آزمایش کنید.
سؤالات مصاحبه درباره PSSDiag
- توضیح دهید چرا PSSDiag برای بررسی Hang یا Freeze مناسب است.
- چگونه سربار PSSDiag را در یک سرور پرترافیک اندازهگیری میکنید؟
- بین خروجیهای Trace یا XE، PerfMon، DMV Snapshot، Log و Metadata کدام معیار را برای تشخیص اولیه انتخاب میکنید و چرا؟
- اگر داده PSSDiag با تجربه کاربر ناسازگار باشد، چه منابع مکملی را بررسی میکنید؟
- یک برنامه بازگشت برای تغییری که بر اساس PSSDiag پیشنهاد شده طراحی کنید.
چکلیست نهایی PSSDiag
- در PSSDiag پرسش پایش برای بررسی Hang یا Freeze نوشته شده است.
- برای PSSDiag مجوز دسترسی به ابزار تشخیصی پشتیبانی مایکروسافت و Configuration Package بررسی شده است.
- بازه زمانی و حجم خروجی PSSDiag محدود شده است.
- برای PSSDiag حداقل دو معیار از Trace یا XE، PerfMon، DMV Snapshot، Log و Metadata ثبت شده است.
- تأثیر PSSDiag بر CPU، I/O و فضای دیسک سنجیده شده است.
- اقدام اصلاحی مبتنی بر PSSDiag و برنامه بازگشت مستند شده است.
جمعبندی آموزش PSSDiag
PSSDiag زمانی بیشترین ارزش را دارد که برای یک مسئله محدود مانند بررسی Hang یا Freeze به کار رود و خروجی آن با Baseline سنجیده شود. دادههای Trace یا XE، PerfMon، DMV Snapshot، Log و Metadata باید در کنار زمینه Workload تفسیر شوند. با رعایت فیلتر، زمانبندی و کنترل سربار میتوان از این قابلیت برای تصمیمهای قابل دفاع در SQL Server استفاده کرد.
برای مقایسه PSSDiag با تمام گزینههای مجموعه، راهنمای جامع ابزارهای گرافیکی و خارجی عملکرد SQL Server را مطالعه کنید.
خدمات برنامهنویسی و پایگاه داده
برنامهنویسی در اصفهان؛ قبول سفارشهای برنامهنویسی و پایگاه داده با شماره 09131253620.
انجام پروژه، آموزش برنامهنویسی و آموزش SQL Server توسط مجموعهای معتبر با سابقه فعالیت حرفهای از سال ۱۳۷۵ شمسی تاکنون.
برای سفارش پروژههای برنامهنویسی، پایگاه داده، سیستمهای تحت وب، وبسایت و راهکارهای نرمافزاری با 09131253620 تماس بگیرید.
ایتا، واتساپ و تماس مستقیم: +989131253620؛ تماس با ما.