خطا در ری استور کردن دیتابیس SQL از ورژن بالاتر به پایینتر (2008 → 2017)
من دوتا دیتابیس دارم یکی روی SQL 2017 و دیگری روی SQL 2008R2 هردو این ها از لحاظ ساختاری عین هم هستند , فقط اطلاعات آنها متفاوت هست
میخوام دیتابیس 2017 رو بیارم روی دیتابیس 2008 , از دو روش استفاده کردم که هردو به نتیجه ای نرسید !
1- استفاده از Generate Script به شکل زیر :
بعد از ساخت اسکریپت که حجمش حدودا 2.5 گیگابایت شده بود اومدم اون رو توی SQL Server 2008R2 باز کنم که این خطا رو داد ←
توی اینترنت دیدم گفته بودند از cmd استفاده کنم برای اجرای اسکریپت ←
sqlcmd -S .\MYSQLSERVER2008 -U MyUsername -P MyPassword -i C:\Database\script.sql
که اینهم با خطا مواجه شد بنابراین رفتم سراغ یه چیزه دیگه .
2- استفاده از Import Data به شکل زیر :
ودر نهایت اینهم با خطا مواجه شد ! ↓
آیا راهی به غیر از اینها که بشه برای این موضوع پیاد کرد, وجود داره ؟ یا این مشکل رو بشه حل کرد ؟
باتشکر
مهندسان عزیز حلش کردم :
دو راه هست
راه حل اول (پیشنهادی) :
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 خیلی کار رو راحت میکنه و بهتره
موفق باشید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- تفاوت اوراکل و Sql Server چیست
- جابه جایی سطر و ستون در Sql Server
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
- دلیل پرش 1000 تایی خودکار فیلد identity در Sql server
- مشکل نمایش ندادن Data Type موقع تایپ در Sql Server
- کار با تاریخ شمسی وساعت (استفاده از توابع )