در نرمافزار SQL Server Management امکان بازگردانی پایگاهداده از نسخه بالاتر به نسخههای پائینتر وجود ندارد، بهعنوان مثال نمیتوانید Backup (بکآپ) پایگاهدادهای که از طریق نسخه 2012 این نرمافزار گرفته شدهاست را در نسخه 2008 آن Restore (بازگردانی) نمائید و درصورت اقدام به بازگردانی با خطای Specified Cast is not Valid مواجه خواهید شد.
بهترین راهکار این است که ما همیشه از نرم افزارهای جدید و بروز شده استفاده کنیم اما در برخی مواقع کاربر به برخی دلایل نیاز به بازگردانی در نسخه پائینتر دارد. جهت رفع این مشکل با استفاده از قابلیت Generate Script در MSSQL Server میتوان از کلیه جداول همراه با دادههای کنونی آنها، viewها، Store Procedureها Script (اسکریپت) تهیه نمود و این فایل اسکریپت را در نسخه پائینتر اجرا و از این طریق پایگاهداده را به نسخه پائینتر منتقل نمود. البته بهدلیل تفاوتهای نسخههای مختلف ممکن است با خطاهایی مواجه شوید که در این صورت طراح پایگاهداده میتواند بهصورت دستی تغییرات را با توجه به نسخه پائینتر اعمال و خطاها را برطرف نماید.
اسکریپت گرفتن از پایگاهداده MSSQL در مبدا:
- بر روی نام پایگاهداده کلیک راست نموده و از منو Task گزینه Generate Script را انتخاب نمائید.
- در صفحه بعد میتوانید انتخاب کنید که اسکریپت از کل پایگاهداده یا از Objectهای خاص (مثلا تنها Tableها) گرفته شود.
- در صورتی که میخواهید از پایگاهداده همراه با دادههای موجود اسکریپت گرفته شود بر روی دکمه Advance کلیک کنید.
- در MSSQL Server 2012 مانند شکل زیر مقدار Types of data to script را به Schema and Data تغییر دهید.
- در MSSQL Server 2008 مانند شکل زیر مقدار Script Data را به True تغییر دهید.
- در پایان فایل اسکریپت با پسوند .sql در مسیر مشخص شده ذخیره خواهد شد.
نحوه اجرای Script در مقصد:
بهسادگی میتوان در MSSQL Server نسخه پائینتر فایل اسکریپت گرفته شده را باز و مانند یک New Query آنرا اجرا کرد.
پس از اجرای اسکریپت، پایگاهداده همراه با کلیه Objectها و دادهها در مقصد ایجاد خواهد شد. البته بهتر است ابتدا پایگاهداده در مقصد ایجاد شده و سپس اسکریپت اجرا گردد.
2 دیدگاه. دیدگاه تازه ای بنویسید
سلام و خسته نباشید.
واقعا از این مطلبتون نهایت تشکر و قدردانی رو دارم. کارم حسابی گیر کرده بود و با دیدن مطلبتون امیدوار شدم که با امتحان کردنش برام جواب داد.
هاستم رو جا به جا کردم ولی نسخه اس کیو ال سرور جدید از هاست قبلی پایین تر بود.
خدا خیرتون بده
رضایت شما هدف ماست