PDA

View Full Version : محتویات Transaction Log



tooraj_azizi_1035
یک شنبه 16 آذر 1393, 11:23 صبح
سلام
گفته میشه هر تراکنشی قبل از اینکه Commit اعلام بشه ابتدا لاگی در Transaction Log برای اون تراکنش ثبت میشه تا خاصیت Durablity تراکنش تضمین بشه و در صورتی که صفحات علامت خورده Flush نشوند در زمان Restart این تراکنش میتونه دوباره اعمال بشه.
اگر قرار باشه برای دستوری مثل Insert مقادیر همه ستون های مربوطه در Transaction Log ثبت بشه باید انتظار داشت این فایل به بزرگی فایل MDF باشه آیا این ادعا درسته؟
و اینکه اگر درست باشه چه لزومی داره که دوباره در فایل MDFاطلاعات ثبت بشه.
ممنون میشم اگر پاسخ بدید.

m.fazlali
دوشنبه 17 آذر 1393, 16:52 عصر
Transaction Log میتواند حتی بسیار بزرگتر از فایل MDF باشد علت این است که Transaction Log عملیات انجام شده بر روی اطلاعات را نگه میدارد ولی فایل MDF خود اطلاعات را یعنی فقط آخرین تغیرات را اما شما همیشه برای کاربر آخرین آطلاعات را نمایش میدهید یعنی اطلاعات در فایل mdf را حال اگر sql اطلاعات را در هربار می خواست از Transaction Log بگیرد باید کلی پردازش انجام دهد تا به حالت آخر برسد و شما بسیار کند اطلاعات را در یافت میکردید .