PDA

View Full Version : تشخیص ورژن دیتابیس



m.toosi
شنبه 24 فروردین 1392, 01:32 صبح
با سلام و احترام
بنده برای سایتم در گذشته دیتابیسی طراحی کرده ام ولی در حال حاضر یادم نیس با کدام ورژن طراحی شده بوده
آیا راهی هست که بتوان تشخیص داد که دیتابیس ساخته شده و جداول آن با کدام ورژن ساخته شده است ؟؟؟

و نکته بعدی این که مثلا خطا میده :
مثلا نوشته version 661 و version 655 این ورژن ها یعنی کدام ورژن دیتابیس ؟؟؟


<b><i>The database 'E:\92.1.6\APP_DATA\ASPNETDB.MDF' cannot be opened because it is version 661. This server supports version 655 and earlier. A downgrade path is not supported.
Could not open new database 'E:\APP_DATA\ASPNETDB.MDF'. CREATE DATABASE is aborted.
An attempt to attach an auto-named database for file E:\App_Data\aspnetdb.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.</i></b>




باتسکر و احترام

veniz2008
شنبه 24 فروردین 1392, 02:41 صبح
سلام.
در مورد بخش اول سوالتون :
یه کوئری باز کنید و کد زیر رو درونش اجرا کنید. لیست تمام دیتابیس های موجودتون رو به همراه ورژن ساخت اونها بهتون میده. از لیست زیر هم برای فهمیدن ورژن Sql استفاده کنید :
60 = SQL Server 6.0
65 = SQL Server 6.5
70 = SQL Server 7.0
80 = SQL Server 2000
90 = SQL Server 2005
100 = SQL Server 2008
110 = SQL Server 2012
کوئری :

SELECT name AS 'DB Name',
compatibility_level AS 'Compatibility Level'
FROM master.sys.databases;
اما در مورد سوال دومتون :
این برمیگرده به نسخه sql 2008 R2 شما. sql server 2008 r2 ورژنش 661 هست و شما دارید از نسخه ای پایین تر از sql server 2008 r2 استفاده می کنید(ورزن 655 که احتمالا ورزن express از sql 2008 هست).
موفق باشید.

m.toosi
یک شنبه 25 فروردین 1392, 16:31 عصر
ممنون دوست عزیز
چند سوال دیگه در همین رابطه :
ورژن ساخت
SQL Server 2008 R2 چه عددی هست ؟ 100 یا 661 ؟ اگر طبق فرمایش شما 661 باشه SQL Server 2008 هم 100 از نظر شماره یک خرده باهم فرق دارن
و اینکه اگر من دیتابیسی که visoual از اون خطا میگیره رو Attach کنم در SQL Server 2008 و query بگیرم
برای دیتابیس مورد نظر عدد 100 رو نشان میده
چه جوری ممکنه؟

من هر زمان پروژه سایتم رو run می کنم با این خطا مواجه میشم
به نظر شما چکاری میتونم انجام بدم که با این خطا مواجه نشوم ؟؟؟

باتشکر و احترام

veniz2008
یک شنبه 25 فروردین 1392, 20:41 عصر
عبارت Database compatibility level که در نتیجه کوئری می بینید به شما کمک میکنه تا بفهمید دیتابیس شما رفتارش به چه شکلی هست و در حقیقت با کدام نسخه از sql سازگاری دارد. (در واقع همون نسخه ای که باهاش دیتابیس رو ساختید رو به شما پینشهاد میده که البته طبیعی هم هست با اون نسخه سازگار باشه).
برای هر نسخه ای یک compatibility level در نظر گرفته شده که لیست اونها رو در پست 2 مشاهده میکنید.
ولی ورژن sql 2008 R2 برابر با 661 هست که خطای رخ داده برای شما بخاطر اینه که سروری که میخواید دیتابیس رو روی اون آپلود کنید حداکثر تا ورژن 651 رو پشتیبانی میکنه.
در مورد مشکلتون هم میتونید به سایت زیر مراجعه کنید. توضیحات بیشتری داده شده:
http://forums.asp.net/p/1560835/3859344.aspx
موفق باشید.