دسته بندی ها
14:35 1400/08/02

خطا در ری استور کردن دیتابیس SQL از ورژن بالاتر به پایینتر (2008 → 2017)

مشخصات سوال کننده :
کاربر : mojtabahakimian     امتیاز کاربر : 155     رتبه کاربر : 10
دسته بندی : Sql Server

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2935
2 نظر
saedbfd : کلا اینکه یک دیتابیس با ورژن بالاتر رو بیارید روی یک دیتابیس با ورژن پایین تر به صورت معمول امکان پذیر نیست. یکی از روشهاش همون ایجاد اسکریپت هست ولی خب وقتی شما از ساختار دیتابیس و اطلاعات اسکریپت می سازید برای ایجاد دیتابیس به این روش هم خطا زیاد پیش میاد. کلا اگر دیتابیس شما بزرگ باشه کار سختیه این کار

امتیاز کاربر : 1654   رتبه کاربر : 1   تاریخ ثبت : 06:31 1400/08/02
mojtabahakimian : چیزی مد نظرتون نیست ؟, چون در حالت واقعی دیتا بیس همینه ! اطلاعات زیاده و همه شرکت ها حاضر نیستند هرکاری ما میگم بکنند

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 10:24 1400/08/02
پاسخ دهنده : mojtabahakimian 21:07 1400/08/03

مهندسان عزیز حلش کردم :

دو راه هست 

راه حل اول (پیشنهادی) :

1- یک دیتابیس خالی ولی همسان از لحاظ ساختاری , با استفاده از اسکریپت, روی SQL ورژن 2008 ساختم.

2- بعدش چون SQL Server 2017 یکسری تفاوت های ساختاری داره در مقایسه با SQL Server 2008R2, اومدم با استفاده از ابزار های قدرتمند داخل برنامه Red Gate استفاده کردم به این شکل که اول با ابزار SQL Compare ساختار جدولیش رو یکسان سازی زدم (جهت اطمینان که Table ها و ساختارشون یکسان هست). در ادامه

3- با ابزار SQL Data Compare  اومدم اطلاعات دیتابیس 2017 رو به 2008 Deploy کردم (کپی دیتا های دیتابیس 2017 روی 2008) و درست شد.

 

راه حل دوم : 

1- طبق تصویر سوالم در بالا اسکریپت رو از دیتابیس بسازید.

2- ابزار VS Code دانلود و نصب کنید.

3- بعد از اینکه اسکریپت ساخته شد چون حجمش بالاست احتمالا با خطا مواجه میشید پس باید با نرم افزار Vs Code اون فایل script.sql رو باز کنید و بعد اینکه کامل باز شد تیکه به تیکش رو داخل New Query در SQL 2008 کپی و پیست کنید و بعد از اینکه تا انتهای فایل باز شده در VS Code رفتید و این کار انجام شد 

4- کویری رو اجرا کنید.

در کل ابزار Red Gate خیلی کار رو راحت میکنه و بهتره

موفق باشید.

ویرایش شده در دوشنبه 3 آبان 1400 ساعت 21:17:25
به این پاسخ امتیاز بدهید    5
امتیاز: 155 رتبه: 10
3 نظر
saedbfd : تشکر بابت به اشتراک گذاشتن نتیجه کارتون. عالی بود.

امتیاز کاربر : 1654   رتبه کاربر : 1   تاریخ ثبت : 09:17 1400/08/03
fateme : روشی که گفتید رو تست نکردم ولی یک لایک بابت اشتراک گذاری تجربه کارتون بهتون دادم. متاسفانه خیلی کاربرا میان سوال میکنن کلی جواب براشون میذاریم آخر کار اصلا نمیان بگن که تونستن به پاسخ برسن یا نه و اگر به پاسخ رسیدن چه کاری کردن.

امتیاز کاربر : 1617   رتبه کاربر : 2   تاریخ ثبت : 09:24 1400/08/03
ghlvsh : امکانش هست نحوه کار با red gate رو دقیق تر توضیح بدید؟ چون من هر چقدر امتحان می کنم خطا میده؟ فایل خروجی میده یا خودش روی ssms تغییرات رو اعمال می کنه؟

امتیاز کاربر : 0   رتبه کاربر : 7019   تاریخ ثبت : 12:35 1403/04/04
ادامه نظرات ...
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود