فهرست مطالب:

چه چیزی باعث بن بست پایگاه داده می شود؟
چه چیزی باعث بن بست پایگاه داده می شود؟

تصویری: چه چیزی باعث بن بست پایگاه داده می شود؟

تصویری: چه چیزی باعث بن بست پایگاه داده می شود؟
تصویری: اگر می خواهید خوش شانس باشید این 7 حیوان را از خانه بیرون نیندازید 2024, ممکن است
Anonim

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

در اینجا بن بست در پایگاه داده چیست؟

بن بست ها . در یک پایگاه داده ، آ بن بست وضعیتی است که در آن دو یا چند تراکنش منتظر یکدیگر هستند تا قفل را رها کنند. به عنوان مثال، تراکنش A ممکن است روی برخی از ردیف‌های جدول حساب‌ها قفل داشته باشد و برای اتمام باید برخی از ردیف‌های جدول سفارش‌ها را به‌روزرسانی کند.

همچنین بدانید، آیا انتخاب می تواند باعث بن بست شود؟ 2 پاسخ. بن بست زمانی اتفاق می افتد که یک پرس و جو روی یک شی (ردیف ها، صفحات داده، وسعت، جداول و غیره) قفل می گیرد و منابع دیگر سعی می کنند به آن دسترسی پیدا کنند. کوچکترین واحد در SQL Server صفحات داده است و SQL در حین کار روی صفحه قفل نگه می دارد. بنابراین، بله ممکن است که دو انتخاب کنید بیانیه می توان ایجاد کردن بن بست.

علاوه بر این، چگونه می توانیم از بن بست در پایگاه داده جلوگیری کنیم؟

نکاتی برای جلوگیری از بن بست

  1. اطمینان حاصل کنید که طراحی پایگاه داده به درستی عادی شده است.
  2. برنامه هایی را برای دسترسی به اشیاء سرور در هر زمان به همان ترتیب توسعه دهید.
  3. در حین تراکنش به هیچ گونه ورودی کاربر اجازه ندهید.
  4. از نشانگرها اجتناب کنید.
  5. معاملات را تا حد امکان کوتاه نگه دارید.

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

یک توسعه دهنده هوشمند باید مراحل زیر را برای بازیابی از بن بست انجام دهد:

  1. خطای شماره 1205 را بررسی کنید، زمانی که یک استثنا پرتاب می شود.
  2. برنامه را برای مدت کوتاهی مکث کنید تا به درخواست دیگر زمان داده شود تا تراکنش خود را کامل کند و قفل های بدست آمده خود را آزاد کند.
  3. درخواست را دوباره ارسال کنید، که توسط SQL Server برگشت داده شد.

توصیه شده: