PDA

نسخه کامل مشاهده نسخه کامل : تبدیل sql2008R2 به Sql2005



M-B-M
05-06-2013, 22:08
سلام به همه دوستان

من یک دیتابیس با SQL2008R2 حاوی 4 جدول دارم که یکی از جداول ان 755000 رکورد دارد و حجم دیتابیس حدود 700Mb است
این دیتابیس را میخواهم تبدیل به 2005 کنم
از روش TASK-> GnerateScript استفاده کردم

(
هر چند که این سه گزینه که در اکثر سایتها جهت تغییر option ها نوشته شده بود را فقط گزینه اول را پبدا کرم و گزینه دوم را نیز با یک سری تغییرات پیدا کردم
'Script for Server Version' = 'SQL Server 2005'
'Script Data' = 'True'
'Scirpt Database Create' = 'True'
)

اما در هنگام اجرای srciptساخته شده روی 2005 با خطای زیر مواجه می شوم


---------------------------
The operation could not be completed
---------------------------


نکته : زمانی که دیتابیس حجیم را از لیست خارج می کنم ، Script ساخته می شود و بدون مشکل کار می کند

لطفا دوستان راهنمایی بفرمایند که این جدول را چطور میتوان به 2005 تبدیل کرد
ممنون

M-B-M
07-06-2013, 22:42
دوستان نطری ندارند؟؟/

anvar.net
08-06-2013, 09:36
این دو تا راهنما رو دنبال کن , ببین جوابی می گیری

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دقت کن که مقاله 2 صفحه است

M-B-M
08-06-2013, 17:34
هر دو مقاله از روش GenerateScript استفاده کرده بود که توضیح دادم که به علت حجم بالای یکی از بانکهای دیتابیس خطا میده
و همچنین یه سری از فسمت هایی که در مطلب اول نوشتم را در sql 2008 R2 من پیدا نکردم

_H2_
08-06-2013, 19:32
سلام
تنها راه منطقی همین تولید TSQL و اجرا در سرور مقصد است.
در ویزارد مربوطه میتوانید انتخاب کنید که فقط برای Schema یا Data کد TSQL تولید کند.
این روش تمام اشیای دیتابیس را شامل میشود و خیلی دقیق تر است.
(طبیعی است که اگر در جایی از دیتابیس (مثلاٌ StoredProcedure ها) از قابلیت های خاص نسخه بالاتر استفاده کرده اید، این کدها در نسخه پایین تر به خطا خواهد خورد و باید با کدهای مناسب پشتیبانی شونده در نسخه پایین تر جایگزین شوند.)

البته اگر دو سرور به هم وصل باشند، جهت انتقال Data میتوانید از ویزارد Import/Export هم استفاده کنید.

M-B-M
08-06-2013, 22:55
همانطور که عرض کردم خدمتتان، من یک دیتابیس با چهار جدول دارم، زمانی که از ویزارد GnerateScript استفاده می کنم و در ویزارد مربوطه طبق عکس پیوست ، ورژن 2005 را انتخاب می کنم و در قسمت Type نیز فقط data را انتخاب می کنم
حالت اول: زمانی که سه جدول با رکورد های کم را انتخاب می کنم ، کد مربوطه ساخته می شود و اجرا می گردد
حالت دوم: زمانی که جدول حجیم (با 750000) رکورد را انتخاب می کنم، در زمان اجرای کد مربوطه خطای " The operation could not be completed " می دهد

مسیر ساخت و تمام شرایط یکسان است ولی در دیتابیس حجیم کد مربوطه خطا می دهد

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

_H2_
10-06-2013, 23:32
سلام
احتمال آن وجود داردکه مشکل شما بجای تعدادسطر بدلیل محتویات برخی سلول ها باشد.
1) بعنوان نمونه فیلد sql_variant هم دارید؟
2) چون تعداد سطرهایتان کمی بیش از حد عادی است، حتماً در اخر ویزار گزینه ذخیره TSQL روی یک فایل را انتخاب کنید.
اینطوری هرچه تعداد سطرهایتان بیش از این هم که باشد، فرقی نخواهد داشت و کل دیتا بطور جریان گرا در هارد ذخیره میشود و در واقع حجم و تعداد سطر وقت شاید زمان عملیات را زیاد کند.