PDA

View Full Version : یک مشکل در زمان خالی کردن جدول



mpmsoft
چهارشنبه 15 اسفند 1386, 22:12 عصر
دوستان من یک جدول Fichbackup دارم که تعداد رکورداش حدودا الان رسیده به 4800000 رکورد

حالا که می خوام delete from fichbackup کنم اولا خیلی زمان می بره و بعد درایو کامپیوترم پر می شه و خود SQL کوئیری رو کنسل می کنه

و من مجبورم بانکمو Shirink کنم و دوباره تلاش کنم دوستان در اینجور مواقع صلاح است به چه شکل عمل کنیم.

حمیدرضاصادقیان
چهارشنبه 15 اسفند 1386, 23:14 عصر
شما وقتی داری عمل حذف رو انجام میدی خود sql تمامی عملیات رو و هر تراکنش رو در فایل log ذخیره میکنه .و چون حجم log شما خیلی زیاد میشه و درایو شما فضای کافی نداره به همین خاطر به مشکل برمیخوری.
شما میتونی مثلا با استفاده Top 10 Percent در 10 مرحله کل دیتا رو تخلیه کنی.
البته راهی که به ذهن من میرسه.شاید راههای خیلی بهتری هم وجود داشته باشه.

AminSobati
پنج شنبه 16 اسفند 1386, 01:21 صبح
خوبیه Truncate Table اینه که رکورد-به-رکورد اقدام به Log نویسی نمیکنه. بلکه هر Page در Log ثبت میشه. آزمایش کنید حتما

mpmsoft
پنج شنبه 16 اسفند 1386, 07:43 صبح
دوستان می شه یک نمونه کد برام بذارید

Elham_gh
پنج شنبه 16 اسفند 1386, 08:08 صبح
دوست عزیز، شما SQL Server Book OnLine رو ندید می گیرید. AminSobati که به دستور اشاره کرد.پس چرا......؟

خوبیه Truncate Table اینه که رکورد-به-رکورد اقدام به Log نویسی نمیکنه. بلکه هر Page در Log ثبت میشه. آزمایش کنید حتما


اینم کدش از BOL:


TRUNCATE TABLE HumanResources.JobCandidate