PDA

View Full Version : برگرداندن رکورد حذف شده از database



alirzn
سه شنبه 10 مهر 1386, 12:22 عصر
با سلام
چطور میشه رکوردی رو که پاک شده از یک table رو برگردوند.
ممنون میشم کمکم کنید

hdv212
سه شنبه 10 مهر 1386, 15:28 عصر
منظورت اینه که الان میخوای برگردونی یا کلا توی برنامه هات همچین امکانی رو میخوای داشته باشی، اگه میخوای توی برنامه ت داشته باشی باید یه جدول دیگه درست کنی که رکوردهای حذف شده به اون جدول منتقل بشن، ولی اگه رکوردی رو که از دیتابیس به صورت فیزیکی پاک شده برگردونی کار بسیار مشکلی در پیش رو داری که بایستی از طریق فایل log مربوط به دیتابیست این کار رو انجام بدی که مربوط به مباحث Administration است، برای اطلاعات بیشتر به بخش Sql Server مراجعه کنید.

PC2st
سه شنبه 10 مهر 1386, 16:27 عصر
میتونی متد RejectChanges از شیئ دیتاتیبل رو صدا بزنی... (اگه از متد DataAdapter.Update استفاده کنید، میتونی تصمیم بگیری که اطلاعات در بانک ذخیره بشه یا اینکه ذخیره نشه و به حالت اول برگرده)

alirzn
سه شنبه 10 مهر 1386, 23:02 عصر
میشه بیشتر توضیح بدی؟
من یک رکورد دارم که اشتباها پاکش کردم.
چطور میشه بر گردونمش.
من فکر کنم sql چنین امکانی رو داشته باشه و همون فایل ldf واسه همین باشه.

میتونی متد RejectChanges از شیئ دیتاتیبل رو صدا بزنی... (اگه از متد DataAdapter.Update استفاده کنید، میتونی تصمیم بگیری که اطلاعات در بانک ذخیره بشه یا اینکه ذخیره نشه و به حالت اول برگرده)

hassan razavi
چهارشنبه 11 مهر 1386, 02:12 صبح
مشکل شما دز هنگام اجرای برنامه است یا در هر زمانی؟

hdv212
چهارشنبه 11 مهر 1386, 08:43 صبح
alirzn جان اگه سوالت رو در بخش اختصاصی این موضوع که همون Sql Server هست مطرح کنی بهتر و سریعتر به جواب میرسی.

alirzn
چهارشنبه 11 مهر 1386, 23:28 عصر
میدونم. اما اون جا کسی اصلا جواب نمیده و خیلی ضعیف هستند.



alirzn جان اگه سوالت رو در بخش اختصاصی این موضوع که همون Sql Server هست مطرح کنی بهتر و سریعتر به جواب میرسی.

hdv212
پنج شنبه 12 مهر 1386, 01:10 صبح
ببین این به دردت میخوره :
http://sqlserver2000.databases.aspfaq.com/how-do-i-recover-data-from-sql-server-s-log-files.html

jaza_sa
پنج شنبه 12 مهر 1386, 08:36 صبح
قسمتی از فایل *.LDF اختصاص به عملیات درج و حذف بر روی جداول دیتابیس داره. و شما میتونید با استفاده از همین مطلب به اطلاعاتی که درج یا حذف کردید دسترسی داشته باشید.
- جدول Inserted برای اطلاعاتی که درج شده
- جدول Deleted برای اطلاعاتی که حذف شده
:متفکر: شاید این سوال مطرح بشه که : پس عملیات ویرایش چی شد؟
باید بگم عملیات ویرایش ترکیبی از عملیات درج و حذف است یعنی اول رکورد مربوطه حذف میشه و بعد مجددا درج میشه
لازم به ذکر که هر جدولی از دیتابیس حاوی این دو جدولی هست.

hdv212
پنج شنبه 12 مهر 1386, 08:52 صبح
jaza_sa عزیز جداولی که شما نام بردید مربوط به استفاده از trriger هست که توی حافظه یا tempdb یه صورت موقتی ایجاد میشه و ربطی به بازگردانی اطلاعات نداره، برای بازگردانی اطلاعات باید از نرم افزارهای third party استفاده کنید که log file شما sql server مورد بررسی قرار میده و توانایی recovery داده ها رو داره، این آدرس ها دو نمونه از چنین ابزارهایی هستن که البته پولی هستن :
http://www.lumigent.com/products/le_sql.html
http://www.red-gate.com/products/SQL_Log_Rescue/index.htm
ظاهر دومی free هست، ولی یادت باشه که اگر نوع Backup گیری در تنظیمات دیتابیست simple یاشه فکر کنم راهی برای بازگردانی اونها نباشه!

alirzn
پنج شنبه 12 مهر 1386, 08:55 صبح
به این دو جدول inserted و deleted چطور میتونم دسترسی داشته باشم؟
کجای sql هستند؟


قسمتی از فایل *.LDF اختصاص به عملیات درج و حذف بر روی جداول دیتابیس داره. و شما میتونید با استفاده از همین مطلب به اطلاعاتی که درج یا حذف کردید دسترسی داشته باشید.
- جدول Inserted برای اطلاعاتی که درج شده
- جدول Deleted برای اطلاعاتی که حذف شده
:متفکر: شاید این سوال مطرح بشه که : پس عملیات ویرایش چی شد؟
باید بگم عملیات ویرایش ترکیبی از عملیات درج و حذف است یعنی اول رکورد مربوطه حذف میشه و بعد مجددا درج میشه
لازم به ذکر که هر جدولی از دیتابیس حاوی این دو جدولی هست.

hdv212
پنج شنبه 12 مهر 1386, 09:05 صبح
دوست عزیز مگه پست قبلی نو نخوندی، این جداول هیچ ربطی به بازگردانی اطلاعات ندارن، و فقط زمان استفاده از trigger در دسترسی هستن، شما چاره ای جز استفاده از ابزارهای third party ندارید.

alirzn
شنبه 14 مهر 1386, 09:00 صبح
من برنامه ای رو دارم که کل اطلاعات delete و insert و update شده رو به شما نشون می ده و امکان undo کردن آن رو به شما میده.
ضمنا تغییراتی رو که شما قبل از نصب برنامه هم دادین رو به شما نشون میده و در واقع این تغییرات در فایل LDF ذخیره میشه که این برنامه از اون فایل می خونه.
من این برنامه رو گذاشتم که هر که میخواد استفاده کنه

من برنامه ای رو دارم که کل اطلاعات delete و insert و update شده رو به شما نشون می ده و امکان undo کردن آن رو به شما میده.
ضمنا تغییراتی رو که شما قبل از نصب برنامه هم دادین رو به شما نشون میده و در واقع این تغییرات در فایل LDF ذخیره میشه که این برنامه از اون فایل می خونه.
من این برنامه رو گذاشتم که هر که میخواد استفاده کنه

https://www.red-gate.com/dynamic/downloads/downloadform.aspx?downloadid=508129&password=MQSZAYNJEY&step=3

https://www.red-gate.com/dynamic/downloads/downloadform.aspx?downloadid=508129&password=MQSZAYNJEY&step=3