PDA

View Full Version : راه کار برای Backup



_alish_
دوشنبه 21 دی 1383, 11:26 صبح
با سلام خدمت دوستان بخصوص آقای مهندس ثباتی

بنده می خواهم یک نوع backup از جداولم داشته باشم به طوریکه :
1- کاربر خود جداول را انتخاب نماید
2- کاربر خود فیلتری برای جداول در نظر بگیرد (مثلا رکورد های تاریخ فلان تا فلان)

و برای Restore :
1- داده ها را مانند restore Sql Server Replace نکند بلکه آنهایی که حذف شده را اضافه و آنهایی که تغییر کرده دوباره سازی و به رکوردهای جدید کاری نداشته باشد

بنده فقط راهکاری برای این موضوع میخواستم . با تشکر

AminSobati
دوشنبه 21 دی 1383, 21:23 عصر
دوست عزیزم،
در Backup گرفتن همیشه SQL Server لازم داره که نوعی یکپارچگی رعایت بشه. مثلا شما نمیتونین از یک جدول Backup بگیرین ولی میتونین از یک Filegroup خاص Backup بگیرین. پس اگر جدول شما روی Filegroup جدا قرار داشته باشه هدفتون تامین میشه. از طرفی در این حالت نیاز پیدا میکنین که پس هر جدول در یک Filegroup جدا قرار داشته باشه که این منطقی نیست(مگر اینکه واقعا مجبور باشیم).
نتیجه کلیی که قصد دارم بگیرم، عمل مورد نظر شما Backup محسوب نمیشه بلکه باید اطلاعات مورد نظر رو Export کنین. در این حالت حتی امکان فیلتر کردن هم وجود داره چون میتونین نتیجه هر Query دلخواه رو Export کنین.
مطلبی که در مورد Restore اشاره کردین، این عمل Merge به حساب میاد و برای این کار باید خودتون Code بنویسین. Merge در SQL Server فقط توسط Replication رعایت میشه که میتونه تغییرات هر رکورد رو به عنوان یک History دنبال کنه و در غیر Replication به Code نوشتن نیاز داره.
برای عمل Export، میتونین از BCP استفاده کنین(که فکر میکنم نیاز شما رو پاسخ بده و راحته) ولی اگر به تنظیمات خیلی ظریف نیاز دارین، خود SQL Server میتونه شما رو راهنمایی کنه که به چه شکل مثلا در VB این کار رو انجام بدین. مثلا یک DTS Package درست کنین و اون رو با فرمت VB ذخیره کنین. حالا فایل رو باز کنین و مطالعه کنین. همه کار میشه باهاش انجام داد!

_alish_
سه شنبه 22 دی 1383, 15:26 عصر
با تشکر از شما که سرنخ را در اختیار من گذاشتید
در مورد نامگذاری هم حق با شماست چونکه این حقیر نمی دانستیم چه کلمه ای را برای این عمل بیان کنم این کلمات را آورده ام
ممنون

AminSobati
چهارشنبه 23 دی 1383, 00:15 صبح
موفق باشین :)