فهرست مطالب:

چگونه می توان بن بست را در SQL Server متوقف کرد؟
چگونه می توان بن بست را در SQL Server متوقف کرد؟

تصویری: چگونه می توان بن بست را در SQL Server متوقف کرد؟

تصویری: چگونه می توان بن بست را در SQL Server متوقف کرد؟
تصویری: تجزیه و تحلیل و پیشگیری از بن بست سرور SQL 2024, ممکن است
Anonim

نکاتی در مورد اجتناب بن بست ها

انجام دادن اجازه ورود کاربر را در حین تراکنش نمی دهد. اجتناب کردن نشانگرها نگاه داشتن معاملات در کوتاه ترین زمان ممکن تعداد سفرهای رفت و برگشت بین درخواست خود را کاهش دهید SQL Server با استفاده از رویه های ذخیره شده یا با نگه داشتن تراکنش ها در یک دسته واحد

همچنین سوال این است که چگونه می توانیم بن بست را در SQL Server کاهش دهیم؟

به اشیا به همان ترتیب دسترسی داشته باشید

  1. به اشیا به همان ترتیب دسترسی داشته باشید.
  2. از تعامل کاربر در معاملات خودداری کنید.
  3. معاملات را کوتاه و در یک دسته نگه دارید.
  4. از سطح ایزوله کمتر استفاده کنید.
  5. از یک سطح جداسازی مبتنی بر نسخه‌سازی ردیف استفاده کنید.

علاوه بر این، چه چیزی باعث بن بست در SQL Server می شود؟ این علت از هر بن بست در SQL Server آ بن بست زمانی اتفاق می‌افتد که دو (یا چند) تراکنش با نگه داشتن قفل‌هایی روی منابعی که هر یک از تراکنش‌ها نیز به آن نیاز دارند، یکدیگر را مسدود می‌کنند. به عنوان مثال: تراکنش 1 روی جدول A قفل دارد. بن بست ها می تواند بیش از دو تراکنش را شامل شود، اما دو مورد رایج ترین سناریو است.

سپس چگونه می توان بن بست را حل کرد؟

این بن بست می تواند باشد حل شد با شکستن تقارن

دو فرآیند برای دو منبع به ترتیب مخالف رقابت می کنند.

  1. یک فرآیند واحد طی می شود.
  2. فرآیند بعدی باید منتظر بماند.
  3. بن بست زمانی اتفاق می افتد که فرآیند اول، منبع اول را همزمان با فرآیند دوم، منبع دوم را قفل می کند.

چگونه بن بست را در SQL Server تجزیه و تحلیل می کنید؟

برای ردیابی بن بست رویدادها را اضافه کنید بن بست گراف کلاس رویداد به یک ردیابی. این کلاس رویداد، ستون داده TextData را در ردیابی با داده های XML در مورد فرآیند و اشیایی که درگیر هستند پر می کند. بن بست . SQL Server Profiler می تواند سند XML را در یک استخراج کند بن بست XML (.

توصیه شده: