PDA

View Full Version : تریگر سوار بر LDf



mojtaba_e
شنبه 18 اردیبهشت 1389, 00:42 صبح
سلام و خسته نباشید
من به یک Trigger نیاز دارم که روی Logfile یک Database سوار بشه و وقتی که کاربر هر یک از عملیات های Insert ، Delete ، Update رو روی جداول این Database انجام داد این عملیات در LDF ذخیره بشه ولی اجازه ذخیره شدن عملیات هایی مثل Select و غیره روی LDF ندهد.
مزیت این کار کنترل روی حجم LDF هستش.

حمیدرضاصادقیان
شنبه 18 اردیبهشت 1389, 08:46 صبح
سلام.فکر نکنم نیازی به اینکار باشه. شما به دوصورت میتونید حجم فایل لاگ رو کنترل کنید.
اگر براتون فایل لاگ اهمیت داره میتونید مدل دیتایس رو روی Full بذارید و از log file در یک job, backup تهیه کرده بعد از اون دیتابیس رو Shrink کنید.
در مدل دوم اگر لاگ فایل برای شما اهمیتی نداره شما میتونید مدل دیتابیس رو روی simple قرار بدید بعد با انتخاب گزینه Auto shrink خود sql زحمت کم کردن حجم فایل لاگ رو میکشه.

پ.ن : فکر نکنم دستور select در فایل لاگ ذخیره بشه. معمولا فایل لاگ برای این منظور استفاده می شود که اگر شما عملیاتی انجام دادید بتونید با backup اون عمل رو rollback کنید ولی در دستور seleCt فکر نکنم این مورد نیازی باشه.

mojtaba_e
شنبه 18 اردیبهشت 1389, 20:29 عصر
با تشکر آقای صادقیان بابهت راهنمایی تون ولی من به این تریگر نیاز دارم در ضمن فکر می کنم اگر روی دیتا بیسی که اتصال به یک برنامه داره مثلا عملیات DataReader صورت بگیره در حجم قایل LDF تاثیر می ذاره حالا آیا تریگری با مشخصات بالا می شه نوشت یا خیر؟:متفکر:

AminSobati
شنبه 18 اردیبهشت 1389, 21:35 عصر
سلام دوست عزیزم،
همونطور که در پست قبلی اشاره شد، Select با توجه به اینکه ماهیتا تغییری در اطلاعات اعمال نمیکنه، نیازی هم به Log شدن در Log File نداره، چراکه Rollback براش بی معنیه. هر چقدر عمل Read داشته باشید روی Log File بی تاثیر خواهد بود.