اس كيوال سرور خود را به 2008 ارتقاء دادهايد؟ آيا ميدانيد كه مجاز هستيد از تمامي امكانات جديد آن در ديتابيسهاي موجود خود استفاده كنيد يا خير؟
به همين منظور ابتدا كوئري زير را اجرا نمائيد:
Use master;
SELECT name, compatibility_level FROM sys.databases
تفسير اين اعداد مطابق اطلاعات زير است:
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
براي تغيير اين درجه سازگاري ميتوان از يكي از دستورات T-SQL زير استفاده كرد:65 = SQL Server 6.5
70 = SQL Server 7.0
80 = SQL Server 2000
90 = SQL Server 2005
100= SQL Server 2008
-- Old way:
EXEC sp_dbcmptlevel 'AdventureWorks', 100
-- New way:
ALTER DATABASE 'AdventureWorks' SET COMPATIBILITY_LEVEL = 100 ;
براي مثال كوئري زير عبارات Alter مورد نظر را جهت ارتقاء ديتابيسهاي موجود كه درجه سازگاري آنها 100 نيست (هنوز به اس كيوال سرور 2008 ارتقاء پيدا نكردهاند)، توليد ميكند:
SELECT 'ALTER DATABASE ' + NAME + ' SET COMPATIBILITY_LEVEL = 100;' TSQL
FROM sys.databases
WHERE compatibility_level <> 100