Changes the database compatibility level of all databases to the given level.
Compatability Level | Version |
80 | 2000 |
90 | 2005 |
100 | 2008 |
110 | 2012 |
Changes the database compatibility level of all databases to the given level.
Compatability Level | Version |
80 | 2000 |
90 | 2005 |
100 | 2008 |
110 | 2012 |
DECLARE @Non2012Databases TABLE( row_id INT IDENTITY(1,1) , database_name VARCHAR(MAX) ); INSERT INTO @Non2012Databases(database_name) SELECT name FROM sys.databases WHERE compatibility_level != '110' --Skip Read Only Databases AND is_read_only = 0 ; DECLARE @databaseName NVARCHAR(255); DECLARE @currentCompatibilityLevel VARCHAR(100); DECLARE @counter INT = (SELECT COUNT(1) FROM @Non2012Databases ); WHILE (@counter > 0 ) BEGIN SELECT @databaseName = database_name FROM @Non2012Databases WHERE row_id = @COUNTER; SELECT @currentCompatibilityLevel = compatibility_level FROM sys.databases WHERE name = @DATABASENAME; -- CHANGE DATABASE COMPATIBILITY EXECUTE sp_dbcmptlevel @DATABASENAME , '110'; PRINT @DATABASENAME + ' compatability level changed to 110 from ' + @currentCompatibilityLevel ; SET @COUNTER -= 1; END GO