SQL Server
3.91K subscribers
19 photos
7 videos
36 files
168 links
حمید رضا صادقیان

🔴طراح‌ومشاوربانک های اطلاعاتیSQLSERVER
⚫️مدرس دوره های آموزشیDatabase

ارتباط با من:
@Hamidreza_Sadeghian

گروه تبادل نظر:
https://t.me/+uIc1qhv58gU0NWQ0
Download Telegram
سلام خدمت دوستان عزیزم
امیدوارم که شاد باشین
یکی از انواع Lock هایی که در SQL Server هست Shared Lock هست که با حرف S نمایش داده میشه.
این Lock زمانی که یک دیتاقرارهست خوانده بشه بر روی داده ها قرار داده میشه. این محدوده میتونه یک Page ، یک ردیف خاص از یک جدول یا ایندکس قرار می گیرد. برای Isolation Level Serializable ، این لاگ بر روی یک رنج از داده های ایندکس قرار داده میشه.
چندین پروسس مختلف میونن همزمان باهم بر روی یک سری داده یکسان Shared lock داشته باشن و اینها همدیگه رو قفل نمی کنند.
هیچ پراسسی نمیتونه بر روی داده هایی که Shared Lock دارن یک Exclusive Lock قرار بده مگر اینکه اون درخواست در همون پراسسی باشه که Shared lock انجام شده و هیچ shared lock دیگه ای بر روی اون داده ها توسط پراسس دیگه ای ایجاد نشده. این لاک به محض اینکه خواندن تمام بشه آزاد میشه.
البته Serializable , REpetable read می تونن این رفتار رو تغییر بدن و تا زمانی که یک تراکنش باز هست این لاک آزاد نمیشه.
توی Sys.dm_Tran_locks در فیلد Reques_Mode اگر حرف S دیدین نمایشگر وجود Shared lock هست.

امیدوارم استفاده کرده باشین.
شاد و پرانرژی باشید
حمیدرضا صادقیان

@Hamidreza_Sadeghian
#Lock_type
#Shared_Lock
#Dm_Tran_locks