PDA

View Full Version : سوال: تاریخ حقیقی رکورد



visual_sadegh
یک شنبه 12 آبان 1387, 12:04 عصر
سلام
چطور می تونیم تاریخ ثبت یک رکورد که در یک جدول ذخیره شده رو بدست بیاریم.
ممنون

amin_alexi
یک شنبه 12 آبان 1387, 14:31 عصر
اين اطلاعات معمولا در Log File ذخيره ميشه !
بايد ببيني چطوري تو Log File مي توني پيداش كني ...

يا نه اگه بخواي خودت بايد تو برنامه يه چي شبيه Log File درست كني و تاريخ درج ، تغييرات و ... رو ذخيره كني .

visual_sadegh
دوشنبه 13 آبان 1387, 07:47 صبح
بايد ببيني چطوري تو Log File مي توني پيداش كني
ممنون همینو می خوام چطوری می تونم به محتوای لوگ فایل دسترسی داشته باشم.

MajerajooyeKhallagh
سه شنبه 14 آبان 1387, 08:16 صبح
دوست عزیز:
شما دو راه دارید:
1_اگر فقط می خواهید تاریخ آخرین تغییراتی که روی یک رکورد در جدول انجام شده است(اعم از Insert,Update) را داشته باشید,میتونید فیلدی از نوع timestamp در جدول موردنظرتون تعریف کنید,این فیلد,همیشه تاریخ آخرین تغییری(حالا این تغییر میتواند Insert یا Update باشد) که بر روی رکورد انجام شده است را در خودش نگهداری میکند.
2_اگر می خواهید تمامی تغییرات اعمال شده بر روی رکورد را اعم از Insert,Update,Delete را رکورد به رکورد به صورت Log داشته باشید,میتونید یک جدول جداگانه دیگری ایجاد کنید(با فیلدهای موردنظر که حتما حداقل دو تا از آنها باید تاریخ تغییر و دیگری نوع تغییر (Insert,Delete,Update باشد) ) و بر روی جداولی که می خواهید Log شوند یک Trigger هم تعریف کنید تا با هر تغییری که بر روی رکوردهای آن انجام میشود در این جدول Log ثبت گردد

امیدوارم که توضیحاتم برای شما مفید واقع بشه.
موفق باشید

visual_sadegh
چهارشنبه 15 آبان 1387, 08:47 صبح
اگر می خواهید تمامی تغییرات اعمال شده بر روی رکورد را اعم از Insert,Update,Delete را رکورد به رکورد به صورت Log داشته باشید,میتونید یک جدول جداگانه دیگری ایجاد کنید(با فیلدهای موردنظر که حتما حداقل دو تا از آنها باید تاریخ تغییر و دیگری نوع تغییر (Insert,Delete,Update باشد) ) و بر روی جداولی که می خواهید Log شوند یک Trigger هم تعریف کنید تا با هر تغییری که بر روی رکوردهای آن انجام میشود در این جدول Log ثبت گردد
دقیقا همینو میخوام ولی فکر کنم فایل های log هم برای همینه، اگه بشه بهش دستری داشت مشکل حل میشه.اینطور نیست؟
فکر نمی کنم ساختم جدول یک کار اصولی باشه!!!

amin_alexi
چهارشنبه 15 آبان 1387, 09:52 صبح
دقیقا همینو میخوام ولی فکر کنم فایل های log هم برای همینه، اگه بشه بهش دستری داشت مشکل حل میشه.اینطور نیست؟
فکر نمی کنم ساختم جدول یک کار اصولی باشه!!!

البته بستگی به کاربرتون داره !
اگه برای هر User که وارد برنامه میشه شما یک Login در SQL Server ایجاد کنین که آره ساخت جدول اصوالی نیست چون میشه از روی LogFile فهمید چه کاربری چه موقع چه تغییری داده !(ولی انگار کار سختیه !!!)
اما در حالتی که شما فقط یک Login دارین (مثل 99% برنامه ها) و اون هم sa .. و همه کاربرا از اون استفاده می کنن نمی تونید از LogFile بفهمین کدوم کاربر تغییرات رو اعمال کرده !
وساختن جدول در شرایطی که کاربر یک سری تغییرات رو به غیر از تغییرات DB روی برنامه انجام میده مفیده .. چون تغییرات برنامه در DB ذخیده نمیشود !!

visual_sadegh
چهارشنبه 15 آبان 1387, 11:37 صبح
لبته بستگی به کاربرتون داره !
اگه برای هر User که وارد برنامه میشه شما یک Login در SQL Server ایجاد کنین که آره ساخت جدول اصوالی نیست چون میشه از روی LogFile فهمید چه کاربری چه موقع چه تغییری داده !(ولی انگار کار سختیه !!!)
اما در حالتی که شما فقط یک Login دارین (مثل 99% برنامه ها) و اون هم sa .. و همه کاربرا از اون استفاده می کنن نمی تونید از LogFile بفهمین کدوم کاربر تغییرات رو اعمال کرده !
وساختن جدول در شرایطی که کاربر یک سری تغییرات رو به غیر از تغییرات DB روی برنامه انجام میده مفیده .. چون تغییرات برنامه در DB ذخیده نمیشود !!
همه اینها قبول ولی چطوری می شه رکورد های فایل log رو دید؟!!!

visual_sadegh
شنبه 18 آبان 1387, 07:20 صبح
خیلی جالبه
به نظر می رسه که همه اطلاع دارند که این قبیل اطلاعات در فایل log ذخیره می شه
ولی کسی نمی دونه چطوری می شه این اطلاعات رو بدست آورد؟

visual_sadegh
یک شنبه 19 آبان 1387, 10:53 صبح
اساتید سایت کجا رفتند؟
لااقل اگه کسی لینکی داره بزاره؟
ممنون

shinsinbin@yahoo.com
دوشنبه 20 آبان 1387, 08:17 صبح
http://sqlserver2000.databases.aspfaq.com/how-do-i-recover-data-from-sql-server-s-log-files.html

shinsinbin@yahoo.com
دوشنبه 20 آبان 1387, 08:50 صبح
http://www.dbforums.com/archive/index.php/t-585796.html

shinsinbin@yahoo.com
دوشنبه 20 آبان 1387, 09:05 صبح
بنظر مي رسه كه اين امكان در نسخه 2000 براي كاربر فراهم نشده و بايد خودتان ان را شبيه سازي كنيد كه بشخصه زياد ديدم از اين روش استفاده كنند و يا براي خواندن لاگ بايد از برنامه جداگانه يا مفسر هايي كه لينكش رو دادم استفاده كنيد

visual_sadegh
چهارشنبه 22 آبان 1387, 07:35 صبح
آیا توی Sqlserver2005 چی؟
امکانش هست؟ میشه مستقیما اطلاعات ذخیره شده در فایل log رو دید؟