اطلاعات بن بست را می توان در گزارش خطای SQL Server یا با استفاده از Profiler / Server Side Trace ثبت کرد.
چگونه بن بست های سرور SQL را نظارت کنم؟
مشاهده یک نمایش گرافیکی از رویداد بن بست
- رویداد بن بست را در Event Viewer باز کنید.
- در تب General، به بخش گزارش xml بن بست سرور SQL بروید و سپس متن موجود در برچسب بن بست (شامل تگ شروع و پایان) را در یک ویرایشگر متن مانند Notepad یا Visual Studio Code کپی کنید.
- فایل را به عنوان یک. ذخیره کنید
SQL Server چگونه بن بست ها را مدیریت می کند؟
اولویتهای بن بست را با استفاده از متغیر جلسه SET DEADLOCK_PRIORITY تنظیم کنید.اگر اولویت بن بست را تنظیم کنید، SQL Server جلسه با کمترین اولویت بن بست را از بین می برد. از مدیریت خطا با استفاده از بلوک های try-catch استفاده کنید می توانید خطای بن بست را به دام بیندازید و در صورت قربانی بن بست، تراکنش را دوباره اجرا کنید.
آیا قفل SQL Server به بن بست رسیده است؟
خطای "تراکنش به بن بست رسید" زمانی رخ می دهد که دو یا چند جلسه در انتظار قفل کردن منبعی هستند که قبلاً توسط جلسه دیگری در همان زنجیره مسدود کننده قفل شده است به عنوان یک در نتیجه، هیچ یک از جلسات را نمی توان تکمیل کرد و SQL Server باید برای حل این مشکل مداخله کند. … تراکنش را دوباره اجرا کنید.
چگونه بررسی می کنید که آیا قفل هایی در SQL Server وجود دارد؟
برای به دست آوردن اطلاعاتی درباره قفل ها در موتور پایگاه داده SQL Server، از sys استفاده کنید. نمای مدیریت پویا dm_tran_locks.