logo banner logo
میهمان عزیز خوش آمدید! برای بهره‌مندی از تمام امکانات لطفا وارد حساب کاربری خود شوید ورود یا ثبت نام.

اطلاع رسانی

Icon
Error

گزینه ها
مشاهده آخرین ارسال مشاهده آخرین ارسال خوانده نشده
mohammad sheikhi  
#1 ارسال شده : 1396/04/14 03:46:01 ب.ظ
mohammad sheikhi

رتبه: Advanced Member

گروه ها: Registered
تاریخ عضویت: 1396/02/09
ارسالها: 54
مکان: tehran

چگونه می‌توان اطلاعات دیتابیس آسیب دیده بینا را به یک دیتابیس خام (Clean) انتقال داد؟
اسپانسر
Dana Help Desk Software Bina & Dana New Version
mehrzadadlo  
#2 ارسال شده : 1396/04/17 02:17:30 ب.ظ
mehrzadadlo

رتبه: Administration

گروه ها: Moderator, Administrators, Registered
تاریخ عضویت: 1396/02/03
ارسالها: 64
ایران (جمهوری اسلامی)
مکان: Tehran

رابط کاربری توسعه یافته و ویژگی‌های پیشرفته در SQL Server این نرم افزار را به یکی از قدرتمند‌ترین ابزارهای مدیریت پایگاه داده (Database) جهت نگهداری و مدیریت حجم وسیعی از داده‌ها تبدیل کرده است. دیتابیس ایجاد شده در نرم افزار SQL Server بنا به دلایل مختلفی همواره با خطر خرابی و از دست دادن داده روبرو است. در ادامه به برخی از دلایل رایج بروز خطا در دیتابیس SQL Server پرداخته می‌شود.
دیتابیس SQL Server ممکن است به دلایل مختلفی با خرابی داده‌ها و آسیب جدی روبرو شود. برخی از این دلایل به شرح زیر می‌باشد:
•بیش از 95% خرابی‌ها طی خطاهای سخت افزاری رخ می‌دهد.
•وجود خطا و باگ در نرم افزار SQL Server
•خاموش شدن ناگهانی سیستم هنگامی که دیتابیس باز و در حال اجرا است.
•تغییرات انجام شده در اکانت SQL
•آلوده شدن سیستم توسط ویروس‌ها
•به روز رسانی SQL Server از نسخه‌ای قدیمی به نسخه‌ای جدید
تا زمانی که با داده‌های آسیب دیده مواجه نشده باشید، دلیل خرابی داده‌ها هرچه که باشد متوجه خرابی آنها نخواهید ‌شد. در این مواقع هنگامی که می‌خواهید با داده‌های آسیب دیده در دیتابیس دسترسی داشته باشید ممکن است با هر کدام از خطاهای زیر روبرو شوید:
•نمایش خطای Msg 823 در SQL Server
•نمایش پیغام Msg 825 (Read Retry)
•نمایش خطا در رابطه با خرابی صفحات (Page Level) در SQL Server
•نمایش خطا در رابطه با خرابی جدول (ها) در SQL Server
•نمایش خطا در رابطه با خرابی ایندکس‌های غیر کلاستر (non-Clustered)
•نمایش خطای پایداری (Consistency) دیتابیس که توسط DBCC CHCKB گزارش داده می‌شود.
•نمایش خطا در رابطه با خرابی در داده صفحات
•نمایش خطا در رابطه با خرابی فراداده‌ (Metadata)
موارد ذکر شده فوق خطاهای رایج نمایش داده شده در خصوص خرابی داده ها در SQL Server می‌باشد، با این وجود پیغام‌های خطای متفاوت دیگری نیز می‌تواند در این رابطه نمایش داده شود. در چنین مواقعی پشتیبان گیری (Backup) از دیتابیس راهکاری است که به هنگام از دست رفتن داده‌ها جهت بازیابی (Restore) آنها همواره توصیه شده است. اما پشتیبان گیری گاهی اوقات می‌تواند مفید واقع شود و در مواقعی که با تاخیر زیاد با المان‌های خراب شده در دیتابیس مواجه شوید، کارایی لازم را نخواهد داشت و این به دلیل این است که خطای ایجاد شده، بکاپ را هم تحت تاثیر قرار داده و آن را هم خراب خواهد کرد.

ملاحظات
قبل از انجام مراحل ذکر شده در قسمت راه حل، حتما از دیتابیس بینا بکاپ تهیه کنید.

راه حل
جهت انتقال دیتابیس آسیب دیده بینا (BinaDB) به یک دیتابیس خام (Clean) مراحل زیر را انجام دهید:
1.فایل‌های اسکریپت و فایل بکاپ مورد نیاز را ابتدا از اینجا دانلود کنید.
2.وارد کنسول مدیریتی SQL Server (SQL Server Management Studio) شوید.
3.جهت ایجاد دیتابیس خام (Clean)، در پنجره Object Explorer بر روی گزینه Database کلیک راست کنید و گزینه “New Database” را انتخاب کنید.
New-Database

4.ابتدا در تب General در قسمت Database Name، کلمه clean وارد کنید. سپس در تب Options در بخش Recovery Model گزینه Simple را انتخاب کرده و در نهایت جهت ایجاد دیتابیس بر روی دکمه OK کلیک کنید.
general-and-options-new-database

5.فایل بکاپ Clean5.7.4.1 .bak موجود در پوشه CleanDB از فایل‌های دانلود شده را بر روی دیتابیس Clean بازگردانی (Restore) کنید.
•جهت بازگردانی فایل بکاپ، پس از اتصال به کنسول SQL Server Management Studio بر روی دیتابیس Clean کلیک راست کرده و از منوی Tasks گزینه Restore --> Database را انتخاب کنید.
restore-a-backup-path.png

•از قسمت Source گزینه Device را انتخاب کرده و فایل Backup که پیش‌تر تهیه شده است (Clean5.7.4.1 .bak) را انتخاب کنید.
choose-file-to-restorea-backup.png

•جهت جایگزین (Replace) شدن Database از منوی Files گزینه Relocate all files to folder و از منوی Options گزینهThe Existing Database Overwrite را انتخاب کنید.
files-and-options-restore-a-backup-file.png

•در نهایت با کلیک بر روی دکمه OK در صفحه Restore Database، عملیات بازگردانی فایل بکاپ اجرا می‌شود. در صورت انجام موفقیت آمیز عملیات بازگردانی فایل بکاپ پیغام زیر نمایش داده خواهد شد.
database-restored-successfully.png

6.پس از بازگردانی فایل بکاپ، از فایل‌های دانلود شده در پوشه InsertDataToCleanDB، اسکریپت CleanDataFromCleanDB را بر روی دیتابیس Clean اجرا (Execute) کنید. پس از اجرای این اسکریپت می‌بایست پیغام "Query Executed Successfully" نمایش داده شود. با اجرای این اسکریپت جداول موجود در دیتابیس Clean حذف می‌شوند.
execute-cleanDB-query-1

7.حال می‌بایست با اجرای اسکریپت هر کدام از نسخه‌های نرم افزار، نسخه 5.7.1.1 دیتابیس را به نسخه فعلی نرم‌افزار تغییر دهیم. بدین منظور اسکریپت‌های موجود در پوشه Update Script را به ترتیب زیر بر روی دیتابیس Clean اجرا می‌کنیم:
5.7.1.1 --> 5.7.4.1 --> 5.7.5.3 --> 5.8.1.1 --> 5.8.2.1 --> 5.8.3.1
به عنوان مثال در صورتی که پیش‌تر نسخه نرم افزار و دیتابیس 5.8.2.1 بوده، می‌بایست به ترتیب با اجرای چهار اسکریپت زیر بر روی دیتابیس Clean5.7.1.1، نسخه 5.7.1.1 دیتابیس را به نسخه 5.8.2.1 برسانیم:
5.7.4.1 --> 5.7.5.3 --> 5.8.1.1 --> 5.8.2.1
جهت اجرای اسکریپت‌ها، دوبار بر روی آنها کلیک کرده تا به محیط SQL Server Management Studio انتقال یابد. سپس با انتخاب دیتابیس Clean، اقدام به اجرای آنها بر روی دیتابیس Clean کنید.
- توجه داشته باشید پس از اجرای هر کدام از اسکریپت‌ها می‌بایست پیغام "Query Executed Successfully" که بیانگر اجرای موفقیت آمیز آن بر روی دیتابیس است نمایش داده شود. در غیر اینصورت اسکریپت را مجدد بر روی دیتابیس اجرا کنید.
8.سپس در پوشه InsertDataToCleanDB اسکریپت InsertDataToCleanDB را بر روی master اجرا (Execute) کنید. پس از اجرای این اسکریپت نیز می‌بایست پیغام "Query Executed Successfully" نمایش داده شود. با اجرای این اسکریپت داده‌های موجود در دیتابیس BinaDB به دیتابیس Clean انتقال داده می‌شوند.
execute-cleanDB-query-2.png

9.در نهایت جهت حفظ ارتباط Application و دیتابیس نرم‌افزار، دیتابیس BinaDB را حذف کرده و نام دیتابیس Clean را به نام "BinaDB" تغییر دهید.
کاربرانی که در حال مشاهده انجمن هستند
رفتن به انجمن  
شما نمی توانید مطلب جدید در این انجمن ایجاد کنید
شما نمی توانید برای مطالب ارسالی پاسخ ارسال کنید
شما نمی توانید مطلب ارسالی خود را حذف کنید
شما نمی توانید مطلب ارسالی خود را ویرایش کنید
شما نمی توانید در مطلب ارسالی خود نظرسنجی ایجاد کنید
شما نمی توانید در این انجمن نظر دهید

ایجاد شده توسط YAF.NET 2.2.3 | YAF.NET © 2003-2017, Yet Another Forum.NET
این صفحه در مدت زمان 0.226 ثانیه ایجاد شد.