راهنمای جامع فرمانهای DBCC برای کارایی، عیبیابی و سلامت SQL Server
دامنه راهنما و نتیجه یادگیری
این مقاله مادر خانواده «DBCC Performance and Diagnostic Commands» را برای سلامت، Cache، حافظه، فایل و عیبیابی سامان میدهد. هدف، فهرست نامها نیست؛ هر عضو بر اساس Scope، خروجی، مجوز و اثر عملیاتی مقایسه میشود.
راهنما برای DBA، توسعهدهنده ارشد و کارشناس عملیات است. در پایان میتوانید میان 16 عضو خانواده انتخاب آگاهانه داشته باشید و برای جزئیات وارد مقاله فرزند شوید.
ابتدا نقشه و جدول مقایسه را بخوانید، سپس شش سناریوی ترکیبی را اجرا کنید و هر اقدام تغییردهنده را از Query تشخیصی جدا نگه دارید.
دسترسی سریع
- تعریف خانواده
- معرفی اعضا
- جدول مقایسه
- شش مثال ترکیبی
- Performance و خطا
- FAQ و چکلیست
تعریف مجموعه و جایگاه معماری
DBCC Performance and Diagnostic Commands مجموعهای برای سلامت، Cache، حافظه، فایل و عیبیابی است. تفاوت اعضا در سطح Session، Database یا Server، ماندگاری داده و میزان اثر بر موتور SQL Server قرار دارد.
مدل انتخاب چهار پرسش دارد: مشاهده یا تغییر؟ Scope چیست؟ خروجی لحظهای یا ماندگار است؟ و در صورت شکست چه Rollbackی وجود دارد؟
هیچ عضو مجموعه بهتنهایی علت ریشهای را اثبات نمیکند؛ داده باید با زمان، بار کاری، Plan، Wait، Log و تنظیمات نسخه همبسته شود.
نقشه نخست نمای Bird’s-eye اعضای خانواده را همراه محور مقایسه سربار، Scope و قابلیت خودکارسازی نمایش میدهد.
دستهبندی اعضا و لینک آموزش
DBCC SHOW_STATISTICS
DBCC SHOW_STATISTICS یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC SHOW_STATISTICS با مثالهای عملی
DBCC SQLPERF
DBCC SQLPERF یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC SQLPERF با مثالهای عملی
DBCC INPUTBUFFER
DBCC INPUTBUFFER یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC INPUTBUFFER با مثالهای عملی
DBCC OPENTRAN
DBCC OPENTRAN یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC OPENTRAN با مثالهای عملی
DBCC USEROPTIONS
DBCC USEROPTIONS یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC USEROPTIONS با مثالهای عملی
DBCC PROCCACHE
DBCC PROCCACHE یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC PROCCACHE با مثالهای عملی
DBCC FREEPROCCACHE
DBCC FREEPROCCACHE یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC FREEPROCCACHE با مثالهای عملی
DBCC DROPCLEANBUFFERS
DBCC DROPCLEANBUFFERS یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC DROPCLEANBUFFERS با مثالهای عملی
DBCC FREESYSTEMCACHE
DBCC FREESYSTEMCACHE یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC FREESYSTEMCACHE با مثالهای عملی
DBCC FREESESSIONCACHE
DBCC FREESESSIONCACHE یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC FREESESSIONCACHE با مثالهای عملی
DBCC MEMORYSTATUS
DBCC MEMORYSTATUS یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC MEMORYSTATUS با مثالهای عملی
DBCC CHECKDB
DBCC CHECKDB یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC CHECKDB با مثالهای عملی
DBCC CHECKTABLE
DBCC CHECKTABLE یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC CHECKTABLE با مثالهای عملی
DBCC CHECKALLOC
DBCC CHECKALLOC یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC CHECKALLOC با مثالهای عملی
DBCC SHRINKFILE
DBCC SHRINKFILE یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC SHRINKFILE با مثالهای عملی
DBCC SHRINKDATABASE
DBCC SHRINKDATABASE یکی از فرمانهای DBCC برای بررسی یا تغییر وضعیت عملیاتی SQL Server است و باید متناسب با دامنه Database، فایل، Cache یا حافظه تفسیر شود. تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک.
آموزش کامل DBCC SHRINKDATABASE با مثالهای عملی
جدول مقایسه تصمیممحور
| موضوع | کاربرد اصلی | نکته کلیدی | لینک آموزش |
|---|
| DBCC SHOW_STATISTICS | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC SQLPERF | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC INPUTBUFFER | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC OPENTRAN | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC USEROPTIONS | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC PROCCACHE | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC FREEPROCCACHE | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC DROPCLEANBUFFERS | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC FREESYSTEMCACHE | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC FREESESSIONCACHE | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC MEMORYSTATUS | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC CHECKDB | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC CHECKTABLE | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC CHECKALLOC | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC SHRINKFILE | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
| DBCC SHRINKDATABASE | تشخیص سریع مسئله، جمعآوری شواهد فنی و اجرای اقدام نگهداری فقط پس از ارزیابی ریسک. | Scope | مطالعه آموزش کامل |
معماری اجرا و اعتبارسنجی
جریان دوم از تعریف مسئله به کنترل مجوز، Snapshot، تفسیر و تأیید با منبع دوم میرسد.
شش مثال ترکیبی
مثال ترکیبی 1: سناریوی ترکیبی 1
این Query یک نمای هماهنگ از خانواده 30 برای تصمیم مرحله 1 میسازد.
SELECT name,state_desc,recovery_model_desc FROM sys.databases;
| شماره | خروجی | قدم بعد |
|---|
| 1 | خروجی مدیریتی مرحله 1 | مقاله فرزند مرتبط را برای تحلیل عمیق باز کنید. |
مثال 1 نقش هماهنگکننده دارد و جایگزین Syntax و هشدارهای مقاله تخصصی نیست.
مثال ترکیبی 2: سناریوی ترکیبی 2
این Query یک نمای هماهنگ از خانواده 30 برای تصمیم مرحله 2 میسازد.
DECLARE @db sysname=DB_NAME(); DBCC CHECKDB(@db) WITH PHYSICAL_ONLY,NO_INFOMSGS;
| شماره | خروجی | قدم بعد |
|---|
| 2 | خروجی مدیریتی مرحله 2 | مقاله فرزند مرتبط را برای تحلیل عمیق باز کنید. |
مثال 2 نقش هماهنگکننده دارد و جایگزین Syntax و هشدارهای مقاله تخصصی نیست.
مثال ترکیبی 3: سناریوی ترکیبی 3
این Query یک نمای هماهنگ از خانواده 30 برای تصمیم مرحله 3 میسازد.
SELECT name,size*8.0/1024 AS SizeMB FROM sys.database_files;
| شماره | خروجی | قدم بعد |
|---|
| 3 | خروجی مدیریتی مرحله 3 | مقاله فرزند مرتبط را برای تحلیل عمیق باز کنید. |
مثال 3 نقش هماهنگکننده دارد و جایگزین Syntax و هشدارهای مقاله تخصصی نیست.
مثال ترکیبی 4: سناریوی ترکیبی 4
این Query یک نمای هماهنگ از خانواده 30 برای تصمیم مرحله 4 میسازد.
SELECT objtype,COUNT(*) PlanCount FROM sys.dm_exec_cached_plans GROUP BY objtype;
| شماره | خروجی | قدم بعد |
|---|
| 4 | خروجی مدیریتی مرحله 4 | مقاله فرزند مرتبط را برای تحلیل عمیق باز کنید. |
مثال 4 نقش هماهنگکننده دارد و جایگزین Syntax و هشدارهای مقاله تخصصی نیست.
مثال ترکیبی 5: سناریوی ترکیبی 5
این Query یک نمای هماهنگ از خانواده 30 برای تصمیم مرحله 5 میسازد.
DBCC OPENTRAN WITH NO_INFOMSGS;
| شماره | خروجی | قدم بعد |
|---|
| 5 | خروجی مدیریتی مرحله 5 | مقاله فرزند مرتبط را برای تحلیل عمیق باز کنید. |
مثال 5 نقش هماهنگکننده دارد و جایگزین Syntax و هشدارهای مقاله تخصصی نیست.
مثال ترکیبی 6: سناریوی ترکیبی 6
این Query یک نمای هماهنگ از خانواده 30 برای تصمیم مرحله 6 میسازد.
SELECT TOP (20) type,pages_kb FROM sys.dm_os_memory_clerks ORDER BY pages_kb DESC;
| شماره | خروجی | قدم بعد |
|---|
| 6 | خروجی مدیریتی مرحله 6 | مقاله فرزند مرتبط را برای تحلیل عمیق باز کنید. |
مثال 6 نقش هماهنگکننده دارد و جایگزین Syntax و هشدارهای مقاله تخصصی نیست.
سناریوهای واقعی
در مرکز عملیات، خانواده DBCC Performance and Diagnostic Commands به Runbook پاسخ سریع، گزارش ظرفیت و تحلیل پس از Incident تبدیل میشود. هر Runbook مالک، زمان، Query کمخطر و شرط Escalation دارد.
در پروژه حرفهای، جدول Snapshot، Retention، داشبورد، آستانه هشدار، مستندات مجوز و آموزش تیم جزو خروجی هستند.
در آموزش، هنرجو باید ابزار نامناسب را رد کند، عضو درست را برگزیند و نتیجه را با منبع دوم تأیید نماید.
هشدار معماری
برخی DBCCها Cache، فایل یا داده را تغییر میدهند؛ بدون Backup و پنجره نگهداری اجرا نشوند.
اشتباهات رایج
- انتخاب بر اساس عادت بهجای Scope؛ از جدول مقایسه استفاده کنید.
- اجرای چند Query سنگین بدون Baseline؛ نمونهبرداری مرحلهای انجام دهید.
- نادیدهگرفتن Reset داده؛ زمان Capture را ذخیره کنید.
- ترکیب مشاهده و تغییر؛ دو Runbook مستقل بسازید.
- نسبتدادن خروجی به علت؛ با Plan، Wait یا Log اعتبارسنجی کنید.
Performance Considerations
هزینه مجموعه از نرخ نمونهبرداری، حجم Snapshot و پردازش گزارش تشکیل میشود. Queryهای حجیم را از Backup، ETL و CHECKDB جدا زمانبندی کنید.
برای داشبورد، داده را در Staging ذخیره و روی زمان، DatabaseID، SessionID یا FileID ایندکس کنید. Retention بر اساس نیاز Trend تعیین شود.
پاکسازی Cache یا Shrink نباید در حلقه پایش خودکار باشد؛ Automation فقط شناسایی و پیشنهاد بسازد و اجرای پرریسک نیازمند Approval باشد.
Best Practices
- Scope و Permission هر عضو مستند شود.
- Queryها پارامتری و محدود باشند.
- Snapshot با نام سرور و زمان ذخیره شود.
- آستانه از Baseline واقعی استخراج شود.
- ابزار Deprecated نقشه مهاجرت داشته باشد.
- اقدام تغییردهنده Approval و Rollback داشته باشد.
- گزارش مالک اقدام بعدی را مشخص کند.
برد تصمیم سوم گزینه کمهزینه، نیازمند بررسی و پرریسک را از هم جدا میکند.
مزایا و محدودیتها
| جنبه | مزیت | محدودیت |
|---|
| پوشش | چند زاویه از مسئله | نیازمند همبستگی |
| خودکارسازی | قابل Script | اقدام پرریسک خودکار نشود |
| آموزش | مسیر پایه تا حرفهای | حفظ Syntax کافی نیست |
| نگهداری | Runbook و داشبورد | نسخه باید بازبینی شود |
سؤالات متداول
DBCC Performance and Diagnostic Commands چه مسئلهای را حل میکند؟
برای سلامت، Cache، حافظه، فایل و عیبیابی در Scope مشخص استفاده میشود و خروجی آن باید به تصمیم قابل سنجش منجر شود.
DBCC Performance and Diagnostic Commands پیشنیاز یادگیری چیست؟
آشنایی با T-SQL، Session، Transaction و خواندن خروجیهای تشخیصی کافی است.
DBCC Performance and Diagnostic Commands هزینه پنهان سازمانی چیست؟
زمان تحلیل، سربار نمونهبرداری و ریسک اقدام نادرست باید در طراحی Runbook دیده شود.
DBCC Performance and Diagnostic Commands خروجی پروژه حرفهای چیست؟
Query نسخهبندیشده، Snapshot، معیار هشدار، Runbook و آموزش تیم بهرهبردار خروجی مناسب هستند.
DBCC Performance and Diagnostic Commands با روش جایگزین چه تفاوتی دارد؟
Scope، ماندگاری داده، سربار، نسخه و قابلیت Rollback معیار مقایسه هستند.
DBCC Performance and Diagnostic Commands چه زمانی مشاوره تخصصی لازم است؟
در Production، SLA سخت، داده حساس یا عملیات اثرگذار بر Cache و فایل، بازبینی متخصص ضروری است.
DBCC Performance and Diagnostic Commands رایجترین خطا چیست؟
اجرای بدون Baseline و تفسیر یک Snapshot بهعنوان علت قطعی، خطای متداول است.
DBCC Performance and Diagnostic Commands اثر Performance چگونه کنترل میشود؟
با TOP، Filter، نرخ نمونهبرداری، پنجره اجرا و مقایسه قبل و بعد کنترل میشود.
DBCC Performance and Diagnostic Commands Best Practice اصلی چیست؟
ابتدا مشاهده کمهزینه، سپس اعتبارسنجی با منبع دوم و در پایان اقدام محدود انجام شود.
DBCC Performance and Diagnostic Commands سازگاری نسخه چگونه بررسی میشود؟
مستندات همان Edition و نسخه نصبشده، بهویژه نام مجوزها و ستونهای DMV، کنترل شود.
سؤالات مصاحبه
Scope اعضا چگونه مقایسه میشود؟
سطح Session، Database یا Server، زمان Reset و ماندگاری خروجی مقایسه میشود.
ریسک اقدام چگونه کنترل میشود؟
Baseline، Approval، Backup، Scope محدود و Rollback تعریف میشوند.
چرا یک ابزار کافی نیست؟
زیرا هر خروجی فقط یک زاویه است و علت با همبستگی چند شاهد اثبات میشود.
پایش چگونه مقیاسپذیر میشود؟
Snapshot دورهای، Staging، Index و Retention کنترلشده به کار میرود.
Deprecated چگونه مدیریت میشود؟
Inventory، مقصد مهاجرت، آزمایش تطبیقی و تاریخ خاموشی ثبت میشود.
خروجی مدیریتی چیست؟
وضعیت، روند، ریسک، مالک اقدام و موعد بازبینی ارائه میشود.
چکلیست نهایی
- مسئله و Scope مشخص است.
- عضو مناسب انتخاب شده است.
- مجوز و نسخه کنترل شدهاند.
- Baseline موجود است.
- مشاهده از تغییر جداست.
- نتیجه با منبع دوم تأیید میشود.
- مقاله فرزند خوانده شده است.
- مالک اقدام ثبت شده است.
جمعبندی و مسیر مطالعه
برای استفاده مؤثر از DBCC Performance and Diagnostic Commands ابتدا مسئله را به Scope، خروجی و ریسک تبدیل کنید. لینکهای زیر همه 16 مقاله فرزند همین خانواده هستند.
خدمات برنامهنویسی و پایگاه داده
برنامهنویسی در اصفهان؛ قبول سفارشهای برنامهنویسی و پایگاه داده با شماره 09131253620، انجام پروژه، آموزش برنامهنویسی و آموزش SQL Server.
مجموعهای معتبر با سابقه فعالیت حرفهای از سال ۱۳۷۵ شمسی تاکنون در طراحی نرمافزار، پایگاه داده، سامانه تحت وب و راهکارهای سازمانی فعالیت میکند.
برای سفارش پروژههای برنامهنویسی و پایگاه داده با شماره 09131253620 تماس بگیرید.
ایتا، واتساپ و تماس مستقیم: +989131253620 — تماس با ما