Backup بین دو تاریخ
سلام
در یک دیتابیس که فیلد تاریخ هم وجود داره میخواهم گرفتن Backup بین دو تاریخ انجام بشه که تاریخ ها را از کاربر دریافت کنه، برای این عمل باید به چه صورت عمل کنم؟
لازم به ذکره Backup به صورت اتوماتیک و Full Backup هم قرار دادم اما این نوع Backup و نمیدونم چطور انجام بدم.
یه راه فک کنم این باشه یک جستجو بین دو تاریخ انجام بشه و بعد داده ها کپی بشن که به نظر جالب نیست اصلا
1 پاسخ
با سلام
همون طور که می دونید این نیاز شما توسط maintenence plan که توسط sql server agent انجام میشه قابل بر طرف شدنه
اما کار بسیار جالب و ایده ی بسیار هوشمندانه ی شما اینه که توسط پارامترهای ورودی کاربر زمان بندی و انجام بدین
راه حلش استفاده از sql server agent store procedure هست :
روال کار :
1- با استفاده از تابع سیستمی spaddjob ابتدا
یک تسک با یک نام ایجاد می کنیم .
2- با تابع سیستمی spaddstepjob فرمانی رو که می خواین به شکل اتوماتیک انجام بشه میسازیم
3-با تابع سیستمی spaddschedule تسکمون و زمان بندی می کنیم
4-با استفاده از spattachschedule زمان بندمون و به تسک اتچ می کنیم
5-در اخر با استفاده از spaddjobserver تعیین می کنیمکدوم نمونه ی ما این تسک و اجرا کنه
ببینید خود مایکروسافت توصیه می کنه از این روش استفاده نکنید چرا ؟ چون در ورژن های بعدی دسترسی به این توابع از بین رفته
باید چیکار کنیم ؟ خودمون به عنوان برنامه نویس از کاربر تاریخ شروع و پایان و به عنوان ورودی بگیرم و توابع خودمون مربوط به بک اپ و اجرا کنیم . خیلی راحتتر هست . راحت با توابع FileSystemWatcher می تونید انجام بدین
راه حل شماره دو : اضافه کردن یک تسک مدیریت شده به ویندوز توسط Task schedule manager در سی شارپ .
راه حل شماره ی 3 : برنامه نویسی سرویس گرا ایجاد یک سرویس برای برنامه ی خودتون .