T-SQL Script–Change compatibility level all databases and set recovery mode.

 

-- Declare variable used by the cursor

DECLARE @databasename AS nvarchar(128)

-- Create a cursor with all custom databases on the server

DECLARE db_list CURSOR FOR

SELECT [name] AS databasename

FROM master.dbo.sysdatabases

WHERE [name] NOT IN ('master', 'tempdb', 'model', 'msdb')

-- Open the cursor

OPEN db_list

-- Fetch next database name from the list and process it

FETCH NEXT FROM db_list INTO @databasename

WHILE @@FETCH_STATUS = 0 BEGIN

DECLARE @sqlCmd AS nvarchar(4000)

-- Set master as database

EXECUTE dbo.sp_ExecuteSQL N'USE [master]'

-- Modify logging mode instantly

SET @sqlCmd = N'ALTER DATABASE [' + @databasename + N']

SET RECOVERY FULL WITH NO_WAIT'

EXECUTE dbo.sp_ExecuteSQL @sqlCmd

-- Here I’m a little unsure but I think this will work

SET @sqlCmd = N'ALTER DATABASE [' + @databasename + N']

SET COMPATIBILITY_LEVEL = 100' -- valid values are 80, 90, 100

EXECUTE dbo.sp_ExecuteSQL @sqlCmd

FETCH NEXT FROM db_list

INTO @databasename END

-- Close and release the cursor

CLOSE db_list

DEALLOCATE db_list

Posted on 9:44 AM by Nathan aka Mysteryn11 and filed under , | 0 Comments »

0 comments: