PDA

View Full Version : جستجو پس از اتمام ثبت



mohammadjp
سه شنبه 11 آذر 1393, 17:38 عصر
فرض کنید کاربری در حال درج اطلاعاتی در جدولی است و کاربر دوم در همان لحظه میخواهد یک جستجو روی جدول انجام دهد.

کاربر دوم میخواهد پرس و جویش پس از اتمام درج اطلاعات اجرا شود. همچنین نمیخواهد از قفل روی جداول استفاده کند.

او چطور میتواند بفهمد تمام اطلاعات در استانه ذخیره شدن به صورت فیزیکی و قطعی در بانک نشسته و او اطلاعاتی را از دست نخواهد داد؟

حمیدرضاصادقیان
سه شنبه 11 آذر 1393, 22:56 عصر
سلام
ببینید وقتی دارید رکوردی رو درجدول تغییر میدین خود SQL Server روی جدول Lock قرار میده که داده های شما به مشکل برنخورن.
اگر در Select از With(nolock) استفاده کنید هنگام درج هم کاربر میتونه داده ها رو بخونه.
ولی اگر از این دستور استفاده نکنید تا عملیات درج تمام نشود و Transaction عملا commit نشود شما دسترسی به جدول ندارید.

mohammadjp
چهارشنبه 12 آذر 1393, 08:17 صبح
سلام
چطور میتوانم بفهمم رکوردهایی از جدول یا کل جدول دارای قفل است تا به این وسیله تا ازاد شدن قفلها صبر کنم

حمیدرضاصادقیان
چهارشنبه 12 آذر 1393, 12:40 عصر
select
object_name(p.object_id) as TableName,
resource_type, resource_description
from
sys.dm_tran_locks l
join sys.partitions p on l.resource_associated_entity_id = p.hobt_id