PDA

View Full Version : مدیریت تراکنش



masoud6&8
چهارشنبه 13 اردیبهشت 1391, 14:11 عصر
میخواستم کامل در مورد مدیریت تراکنش در پایگاه داده بدونم ودر مورد هرچیزی که بهم در این مورد کمک میکنه
از اینکه مدیریت تراکنش چیست؟
نحوه ی مدییت تراکنش؟
منضور از مدیریت تراکنش چیست؟
اگر شد مقاله ای در این مورد میخواستم
خواهشن مقاله و اطلاعاته زادی میخوام

merlin425
چهارشنبه 13 اردیبهشت 1391, 14:35 عصر
من چیز زیادی ازش نمیدونم ولی همین ناچیز هم ارز میکنم شاید تا حدی کمت کنم
همان طور که خودت میدونی تغیرات واعمالی که روی سیستم در طول یک دوره زمانی مشخص مثلآ یک روز انجام میشه بهش تراکنش میگن مثل تراکنش روزانه یا ماهانه..
مثل انتقال پول از یک حساب به حساب دیگه در سیستم بانک که یک تراکنش محسوب میشه
حالا مشکلاتی که باهاش در ارتباط هستیم اینه که ایا تراکنش اصلآ اجرا میشه یا کامل انجام میشه یا بعد از انجامش پیامد های بدی ایجاد میکنه
مدیریت تراکنش ها در واقع در نظر گرفتن همین وضعیت هاست و پیش بینی راه مقابله باهاشون هست که هر کس یک جور این کار رو انجام میده بعضی با trigger یا غیره به طوری که یک تراکنش یا انجام نشه یا به طور کامل انجام بشه وتآثیر نا خواسته ای روی سایر اجزا نداشته باشه

esteghamat
یک شنبه 17 اردیبهشت 1391, 08:23 صبح
سلام
من هم چند نكته اي مي گم اميد كه استفاده بشه : (نقل قول از استاد مسلم sql server اقاي مهندس آقا صادقي)
- در sql server هر دستور به تنهايي يك تراكنش (Transaction) است . يعني اگر صحيح باشد، انجام مي شود و اگر error بدهد بصورت اتوماتيك roleback مي شود.
- اما اگر بخواهيم چند دستور را با هم اجرا كنيم، يعني اگر يكي از انها هم خطا داشت ، بقيه هم RoleBack كنند، بايد از ساختار تراكنش يا transaction استفاده كنيم.
- براي ساخت يك تراكنش : ابتدا begin tran و سپس دستورات مورد نظر و در انتها commit Tran و يا با كنترل شما در بين ساختار roleBack .
- اما چه موقع بايد از تراكنش استفاده كنيم : زمانيكه دستورات به هم مربوط باشند. مثلا همونجور كه دوست عزير اشاره كردند، انتقال وجه از يك حساب به حساب ديگر. كه دستور اول از حساب مبدا كم مي كند و دستور دوم به حساب مقصد مي ريزد. حال اگر دستور دوم خطا داد، بايد دستور اول هم roleback شود.
اگه مورد خاصي بود لطفا مطرح كنيد.
موفق باشيد