Monday, September 13, 2010

Migrating databases from SQL 7/2000 to 2005/2008 version

When you migrate a database from a SQL server 7 or 2000 to a SQL server 2005 & Up it's important to check that the database's Auto_Close flag is set to "FALSE" OR "OFF" (binary 0).

In order to find out which databases have it set to "TRUE" or "ON" (Binary 1) run this script:


SET NOCOUNT ON


SELECT [name] AS DatabaseName
, CONVERT(varchar(100),DATABASEPROPERTYEX([Name] , 'Recovery')) AS RecoveryType
, CONVERT(varchar(10),DATABASEPROPERTYEX([Name] , 'IsAutoClose')) AS AutoClose
, CONVERT(varchar(10),DATABASEPROPERTYEX([Name] , 'IsAutoShrink')) AS AutoShrink
FROM master.dbo.sysdatabases
Order By DatabaseName

Then in order to set a flag to "FALSE" / "OFF" run the following script:
ALTER DATABASE [DB_NAME_HERE] SET AUTO_CLOSE OFF WITH NO_WAIT

Here is Microsoft Best practice recommendation:
http://technet.microsoft.com/en-us/library/bb402929.aspx