loading...
سایت آموزشی دانشجویان
آخرین ارسال های انجمن
عنوان پاسخ بازدید توسط
اختلال طیف اوتیسم چیست؟ 0 45 drsaber
توانبخشی به چه معناست؟ 0 60 drsaber
اختلال پردازش حسی؟! 0 56 drsaber
اختلالات یادگیری؟ 0 61 drsaber
لکنت زبان چیست؟؟ 0 70 drsaber
کاردرمانی؟ 0 57 drsaber
کاردرمانی جسمی و دست چیست؟ 0 120 drsaber
اختلال اوتیسم؟ 0 92 drsaber
توانبخشی؟؟ 0 92 drsaber
گفتاردرمانی چیست؟ 0 99 drsaber
بیش فعالی در کودکان 0 108 drsaber
اختلالات طیف اوتیسم 0 114 drsaber
کاردرمانی ذهنی یعنی چه 0 128 drsaber
توانبخشی؟ 0 172 drsaber
بیش فعالی و نقص توجه؟ 0 132 drsaber
توانبخشی 0 147 drsaber
کاردرمانی 0 154 drsaber
چه عواملی تعیین کنند قیمت ناودانی می باشد؟ 0 130 metal
معایب ورق گالوانیزه 0 139 metal
ناودانی ها بر چه اساسی دسته بندی می شوند؟ 0 108 metal
خصوصیات ورق رنگی 0 132 metal
کاربرد ورق کرکره سینوسی 0 133 metal
کاربرد پروفیل آبرو 0 122 metal
اختلال پردازش حسی چیست؟ 0 119 drsaber
کاربرد پروفیل های ساختمانی 0 133 metal
کاربرد پروفیل استیل دکوراتیو 0 132 metal
مزایای استفاده از ورق سیاه در صنایع 0 143 metal
مزایای استفاده از ورق رنگی 0 132 metal
روش تولید ورق رنگی 0 135 metal
کاردرمانی در منزل 0 128 drsaber
علیرضا تولائی راد بازدید : 1435 شنبه 09 تیر 1403 نظرات (0)

SQL Server به منظور اطمینان از اینکه اطلاعات خوانده شدن، تغییر نخواهند کرد از مکانیزمی به نام Lock استفاده میکند. قفل ها این اطمینان را به ما میدهد که اطلاعاتی که در حال تغییر آنها هستیم، تحت تاثیر سایر تغییرات قرار نخواهد گرفت و اطلاعای که میخواهیم بخوانیم در حال تغییر به وسیله پردازش دیگری نیست. زمانی که در یک Connection جدولی قفل گذاری میشود، تا زمان آزاد شدن آن، سایر Connectionها اجازه قفل کردن و اعمال تغییرات روی آن جدول را به صورت همزمان ندارند.


SQL Server شش نوع قفل دارد که عبارتند از:



SQL Server شش نوع قفل دارد که عبارتند از:


Shared

Update

Exclusive

Intent

Schema

Bulk Update

4 نوع قفل اول این قابلیت را دارند که روی سطرهای جدول هم قرار داده شوند و 2 نوع آخر روی جدول قرار میگیرند.

Shared Locks:

این نوع قفل اجازه میدهد چندین Connection و تراکنش مختلف اطلاعاتی که روی آنها قفل گذاشه شده است بخوانند، اما اجازه تغییر این اطلاعات تا زمانی که این قفل روی آنها هست وجود ندارد. زمانی که اطلاعات خوانده شد، این قفل از روی اطلاعات

برداشته میشود، اما این شرایط ممکن است بنا به دلایلی تغییر کند. ممکن است در طول یک تراکنش این قفل روی اطلاعات نگه داشته شود، تا مطمئن شویم اطلاعاتی که بر پایه آنها داریم کار میکنیم در طول انجام عملیات ما تغییر نخواهد کرد. مثلا فرض

کنید قرار است از یک حساب بانکی 100 تومان برداشت شود، در آغاز کار چک میشود که موجودی حساب کافی باشد، اما باید شرایطی را ایجاد کنیم که تا زمان کامل شدن این عملیات، امکان تغییر مقدار پول موجود در حساب به وسیله سایر تراکنش ها

وجود نداشته باشد.

Update Locks:

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

برای جلوگیری از بن بست، SQL Server قفل جدیدی به نام Update Locks معرفی کرد که در بعضی شرایط میتواند جایگزین Shared Lock شود. تنها یک پردازش میتواند این نوع قفل را روی ردیف قرار دهد و اجازه نمیدهد سایر پردازش ها روی این ردیف قفل دیگری قرار دهند.

Exclusive Locks:

این قفل برای نویسنده های اطلاعات تعبیه شده است، هنگامی که قرار است اطلاعاتی در یک ردیف نوشته شود، این قفل روی آن ردیف قرار داده میشود و تا پایان نوشتن اطلاعات این قفل روی آن ردیف باقی می ماند.

Intent Locks:

این قفل برای پیشگری از قرار گرفتن بیش از یک قفل exclusive روی منبعی است که در حال حاضر یک قفل exclusive دارد. اگر شما یک رکورد را در یک جدول بخواهید Update کنید، روی ردیفی که در حال ویرایش آن هستید قفلی از جنس exclusive قرار میگیرد و قفلی از جنس intent روی جدولی که حاوی آن رکورد میباشد قرار میگیرد. برای روشن شدن این مطلب به مثال دقت کنید. فرض کنید شما به هتلی میروید و اطاق 404 از این هتل در اختیار شما قرار داده میشود. تا زمانی که این اتاق در اختیار

شماست هیچ کس نمیتواند به جز شما از آن اتاق استفاده کند. این یک قفل Exclusive است. شما یکی از اتاق های هتل را در اختیار داردید، پس صاحب هتل نمیتواند تمامی اتاق های هتل را هم به شخص دیگری اجاره دهد، چون یک اتاق مال شماست، این هم یک قفل Intent است.

Schema Locks:

دو نوع از این قفل در SQL Server وجود دارد. Sch - M که از دسترسی به اطلاعات جدول هنگامی که در حال تغییر جدول هستیم جلوگیری میکند. مثلا هنگامی که اعمالی مانند تغییر نام ستون ها یا کم و زیاد کردن ستون ها را انجام میدهیم. نوع دوم Sch- S است که از اعمال تغییرات روی جدولی که در حال دسترسی به داده های آن هستیم پیشگیری میکند.

Bulk Update Locks :

هنگامی که عملیات بارگذاری مقدار زیادی اطلاعات قرار است انجام شود از این نوع قفل استفاده میگردد و تا پایان عملیات، دسترسی به اطلاعات جدولی که این قفل روی آن قرار داده شده است، ممکن نیست.


ارسال نظر برای این مطلب

کد امنیتی رفرش
درباره ما
Profile Pic
به وبسایت آموزشی دانشجویان خوش آمدید در سایت عضو شوید مطلب بگذارید سوال بپرسید به سوالات دیگران که در تخصص شماست پاسخ دهید. TAVALLAEIRAD@GMAIL.COM

یاهو آیدی بنده مسدود شده است .
شماره های تماس
09154054585
09356103443
051-58465846

Alireza Tavallaei Rad - علیرضا تولائی راد

من را به Add List یاهو خود اضافه كنید!



در صورت آنلاین بودن کلیک کنید در صورت آنلاین بودن کلیک کنید در صورت آنلاین بودن کلیک کنید


سوالات و مشکلات خود را بپرسید . مشاوره طراحی اجرا و پشتیبانی سایت های اینترنتی قبول سفارش طراحی سایت
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
  • يکشنبه 08 آبان 1401
  • يکشنبه 04 ارديبهشت 1401
  • دوشنبه 10 آذر 1399
  • دوشنبه 06 مرداد 1399
  • يکشنبه 01 فروردين 1395
  • سه شنبه 18 فروردين 1394
  • سه شنبه 06 آبان 1393
  • يکشنبه 26 مرداد 1393
  • دوشنبه 19 خرداد 1393
  • چهارشنبه 14 خرداد 1393
  • سه شنبه 13 خرداد 1393
  • دوشنبه 12 خرداد 1393
  • سه شنبه 30 ارديبهشت 1393
  • چهارشنبه 17 ارديبهشت 1393
  • دوشنبه 15 ارديبهشت 1393
  • چهارشنبه 03 ارديبهشت 1393
  • شنبه 30 فروردين 1393
  • سه شنبه 19 فروردين 1393
  • يکشنبه 17 فروردين 1393
  • جمعه 01 فروردين 1393
  • پنجشنبه 17 بهمن 1392
  • دوشنبه 23 دی 1392
  • يکشنبه 15 دی 1392
  • دوشنبه 09 دی 1392
  • يکشنبه 08 دی 1392
  • پنجشنبه 05 دی 1392
  • پنجشنبه 28 آذر 1392
  • چهارشنبه 13 آذر 1392
  • دوشنبه 13 آبان 1392
  • سه شنبه 23 مهر 1392
  • شنبه 06 مهر 1392
  • جمعه 05 مهر 1392
  • يکشنبه 31 شهريور 1392
  • شنبه 30 شهريور 1392
  • جمعه 22 شهريور 1392
  • چهارشنبه 30 مرداد 1392
  • سه شنبه 29 مرداد 1392
  • دوشنبه 28 مرداد 1392
  • يکشنبه 27 مرداد 1392
  • شنبه 26 مرداد 1392
  • جمعه 25 مرداد 1392
  • پنجشنبه 24 مرداد 1392
  • چهارشنبه 23 مرداد 1392
  • سه شنبه 22 مرداد 1392
  • دوشنبه 21 مرداد 1392
  • يکشنبه 20 مرداد 1392
  • شنبه 19 مرداد 1392
  • جمعه 18 مرداد 1392
  • پنجشنبه 17 مرداد 1392
  • چهارشنبه 16 مرداد 1392
  • سه شنبه 15 مرداد 1392
  • دوشنبه 14 مرداد 1392
  • شنبه 12 مرداد 1392
  • جمعه 11 مرداد 1392
  • پنجشنبه 10 مرداد 1392
  • سه شنبه 08 مرداد 1392
  • دوشنبه 07 مرداد 1392
  • يکشنبه 06 مرداد 1392
  • چهارشنبه 26 تير 1392
  • سه شنبه 18 تير 1392
  • دوشنبه 17 تير 1392
  • يکشنبه 16 تير 1392
  • شنبه 15 تير 1392
  • جمعه 14 تير 1392
  • چهارشنبه 12 تير 1392
  • جمعه 07 تير 1392
  • پنجشنبه 06 تير 1392
  • يکشنبه 02 تير 1392
  • شنبه 01 تير 1392
  • جمعه 31 خرداد 1392
  • پنجشنبه 30 خرداد 1392
  • چهارشنبه 29 خرداد 1392
  • سه شنبه 28 خرداد 1392
  • دوشنبه 27 خرداد 1392
  • يکشنبه 26 خرداد 1392
  • شنبه 25 خرداد 1392
  • جمعه 24 خرداد 1392
  • پنجشنبه 23 خرداد 1392
  • چهارشنبه 22 خرداد 1392
  • سه شنبه 21 خرداد 1392
  • دوشنبه 20 خرداد 1392
  • شنبه 18 خرداد 1392
  • پنجشنبه 16 خرداد 1392
  • چهارشنبه 15 خرداد 1392
  • سه شنبه 14 خرداد 1392
  • دوشنبه 13 خرداد 1392
  • يکشنبه 12 خرداد 1392
  • شنبه 11 خرداد 1392
  • جمعه 10 خرداد 1392
  • پنجشنبه 09 خرداد 1392
  • چهارشنبه 08 خرداد 1392
  • سه شنبه 07 خرداد 1392
  • دوشنبه 06 خرداد 1392
  • يکشنبه 05 خرداد 1392
  • شنبه 04 خرداد 1392
  • جمعه 03 خرداد 1392
  • پنجشنبه 02 خرداد 1392
  • سه شنبه 31 ارديبهشت 1392
  • دوشنبه 30 ارديبهشت 1392
  • يکشنبه 29 ارديبهشت 1392
  • شنبه 28 ارديبهشت 1392
  • جمعه 27 ارديبهشت 1392
  • پنجشنبه 26 ارديبهشت 1392
  • چهارشنبه 25 ارديبهشت 1392
  • سه شنبه 24 ارديبهشت 1392
  • يکشنبه 22 ارديبهشت 1392
  • شنبه 21 ارديبهشت 1392
  • جمعه 20 ارديبهشت 1392
  • پنجشنبه 19 ارديبهشت 1392
  • چهارشنبه 18 ارديبهشت 1392
  • سه شنبه 17 ارديبهشت 1392
  • دوشنبه 16 ارديبهشت 1392
  • يکشنبه 15 ارديبهشت 1392
  • شنبه 14 ارديبهشت 1392
  • جمعه 13 ارديبهشت 1392
  • چهارشنبه 11 ارديبهشت 1392
  • پنجشنبه 05 ارديبهشت 1392
  • چهارشنبه 04 ارديبهشت 1392
  • دوشنبه 02 ارديبهشت 1392
  • يکشنبه 01 ارديبهشت 1392
  • شنبه 31 فروردين 1392
  • جمعه 30 فروردين 1392
  • پنجشنبه 29 فروردين 1392
  • چهارشنبه 28 فروردين 1392
  • سه شنبه 27 فروردين 1392
  • شنبه 24 فروردين 1392
  • جمعه 23 فروردين 1392
  • چهارشنبه 21 فروردين 1392
  • سه شنبه 20 فروردين 1392
  • دوشنبه 19 فروردين 1392
  • يکشنبه 18 فروردين 1392
  • شنبه 17 فروردين 1392
  • جمعه 16 فروردين 1392
  • چهارشنبه 14 فروردين 1392
  • دوشنبه 21 اسفند 1391
  • شنبه 19 اسفند 1391
  • دوشنبه 07 اسفند 1391
  • يکشنبه 08 بهمن 1391
  • دوشنبه 02 بهمن 1391
  • پنجشنبه 21 دی 1391
  • دوشنبه 18 دی 1391
  • جمعه 15 دی 1391
  • چهارشنبه 13 دی 1391
  • دوشنبه 11 دی 1391
  • شنبه 02 دی 1391
  • چهارشنبه 15 آذر 1391
  • يکشنبه 12 آذر 1391
  • سه شنبه 07 آذر 1391
  • جمعه 03 آذر 1391
  • پنجشنبه 02 آذر 1391
  • چهارشنبه 01 آذر 1391
  • سه شنبه 30 آبان 1391
  • شنبه 27 آبان 1391
  • دوشنبه 22 آبان 1391
  • جمعه 19 آبان 1391
  • چهارشنبه 17 آبان 1391
  • دوشنبه 15 آبان 1391
  • پنجشنبه 11 آبان 1391
  • دوشنبه 08 آبان 1391
  • يکشنبه 07 آبان 1391
  • دوشنبه 01 آبان 1391
  • جمعه 28 مهر 1391
  • چهارشنبه 26 مهر 1391
  • يکشنبه 23 مهر 1391
  • شنبه 22 مهر 1391
  • جمعه 21 مهر 1391
  • پنجشنبه 20 مهر 1391
  • سه شنبه 18 مهر 1391
  • يکشنبه 16 مهر 1391
  • جمعه 14 مهر 1391
  • پنجشنبه 13 مهر 1391
  • دوشنبه 10 مهر 1391
  • جمعه 07 مهر 1391
  • پنجشنبه 06 مهر 1391
  • چهارشنبه 05 مهر 1391
  • سه شنبه 04 مهر 1391
  • دوشنبه 03 مهر 1391
  • شنبه 25 شهريور 1391
  • سه شنبه 21 شهريور 1391
  • شنبه 18 شهريور 1391
  • جمعه 10 شهريور 1391
  • چهارشنبه 08 شهريور 1391
  • پنجشنبه 02 شهريور 1391
  • يکشنبه 29 مرداد 1391
  • پنجشنبه 26 مرداد 1391
  • دوشنبه 23 مرداد 1391
  • چهارشنبه 18 مرداد 1391
  • يکشنبه 15 مرداد 1391
  • دوشنبه 02 مرداد 1391
  • يکشنبه 01 مرداد 1391
  • شنبه 31 تير 1391
  • پنجشنبه 29 تير 1391
  • شنبه 17 تير 1391
  • جمعه 16 تير 1391
  • چهارشنبه 07 تير 1391
  • شنبه 03 تير 1391
  • سه شنبه 30 خرداد 1391
  • دوشنبه 29 خرداد 1391
  • شنبه 27 خرداد 1391
  • جمعه 26 خرداد 1391
  • چهارشنبه 24 خرداد 1391
  • سه شنبه 23 خرداد 1391
  • شنبه 20 خرداد 1391
  • سه شنبه 16 خرداد 1391
  • يکشنبه 14 خرداد 1391
  • پنجشنبه 11 خرداد 1391
  • چهارشنبه 10 خرداد 1391
  • سه شنبه 9 خرداد 1391
  • يکشنبه 7 خرداد 1391
  • پنجشنبه 4 خرداد 1391
  • پنجشنبه 21 ارديبهشت 1391
  • جمعه 15 ارديبهشت 1391
  • سه شنبه 12 ارديبهشت 1391
  • دوشنبه 4 ارديبهشت 1391
  • دوشنبه 7 فروردين 1391
  • پنجشنبه 11 اسفند 1390
  • سه شنبه 9 اسفند 1390
  • يکشنبه 7 اسفند 1390
  • نظرسنجی
    آیا با گذاشتن آپدیت آنتی ویروس ها در سایت موافق هستید ؟
    پیوندهای روزانه
    آمار سایت
  • کل مطالب : 391
  • کل نظرات : 64
  • افراد آنلاین : 20
  • تعداد اعضا : 1081
  • آی پی امروز : 220
  • آی پی دیروز : 151
  • بازدید امروز : 532
  • باردید دیروز : 386
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 5,596
  • بازدید ماه : 20,173
  • بازدید سال : 130,939
  • بازدید کلی : 906,867