View Full Version : چگونه از تداخل در دیتابیس تحت شبکه جلوگیری کرد ؟
NasimBamdad
یک شنبه 06 مرداد 1392, 16:01 عصر
سلام .
من یک برنامه تحت شبکه نوشتم با 20 کلاینت ، حالا سوال برام پیش آمده که تداخل و همزمانی کاربر ها رو چه طوری حل کنم ؟
مثلا یک کاربر بر روی یک رکورد داره کار می کنه و همزمان کاربر دیگری بر روی همان رکورد ، تکلیف چیست ؟
شنیدم که جداول قفل می شوند و با قفل کردنشان باید از این تداخل جلوگیری کرد .
راه حل عملی چیست ؟!
hossein_h62
یک شنبه 06 مرداد 1392, 16:39 عصر
سلام
با استفاده از TRANSACTION ها و سطوح جداسازی مناسب؛ اینجــــــــــــــــا (http://msdn.microsoft.com/en-us/library/ms173763.aspx) رو ببینید.
NasimBamdad
یک شنبه 06 مرداد 1392, 17:38 عصر
سلام
با استفاده از TRANSACTION ها و سطوح جداسازی مناسب؛ اینجــــــــــــــــا (http://msdn.microsoft.com/en-us/library/ms173763.aspx) رو ببینید.
اممم زیاد چیزی ازش نفهمیدم ، میشه به یک مثال عملی بهم توضیح بدید ؟
tooraj_azizi_1035
یک شنبه 06 مرداد 1392, 19:25 عصر
http://msdn.microsoft.com/en-us/magazine/cc188748.aspx
http://msdn.microsoft.com/en-us/magazine/cc163924.aspx
NasimBamdad
شنبه 12 مرداد 1392, 07:37 صبح
یه سوالی ؟
میگم فرض کنیم چند نفر همزمان بر یک جدول تغییری مثل Update , Insert , .... انجام بدهند ، مگه خود سیستم عامل و SQL Server این درخواست ها رو اولویت بندی و در صف قرار نمیده ؟ خوب چرا خودمان این کار رو انجام بدیم ؟
مثلا هرکی زود تر درخواست بفرسته اعمال میشه و بقیه هم پشت سرش .
حتی اگه 2 نفر همزمان یک رکورد رو Edit کنن ، بازم اولویت بندی میشه و یکی اول و اون یکی دوم . پس چه تداخلی پیش میاد ؟!
m.webgard
یک شنبه 13 مرداد 1392, 02:36 صبح
سلام
دوست عزیز شما باید از تراکنش ها استفاده کنید. فقط از طریق تراکنش ها میتونید میاحث مربوط به همزمانی و چند کاربره بودن رو مدیریت کنید تا از صحت اطلاعات (ACID) اطمینان داشته باشید
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.