/*---------------------------------------------------------------------------------------------------

Purpose: This script generate scripts to alter the collation

Author: SQLServerSpecialists.com

Date: 05/10/2007

---------------------------------------------------------------------------------------------------*/
USE{databasename} 
GO
SET NOCOUNT ON
/*Find database default*/
DECLARE @name sysname,
@Collate VARCHAR(50)
SET @name =DB_NAME(7)
-- These props only available if db not shutdown  SET @Collate =(SELECT CONVERT (sysnameDATABASEPROPERTYEX (@name,'Collation')))
SELECT'ALTER TABLE 'TABLE_NAME +' ALTER COLUMN 'COLUMN_NAME 
+' 'DATA_TYPE +'('+CAST(CHARACTER_MAXIMUM_LENGTH ASVARCHAR(10))+') ' 
+'COLLATE '@Collate +
CASE IS_NULLABLE 
WHEN 'NO' THEN' NOT NULL'
WHEN 'YES' THEN' NULL' 
END 

FROM 
INFORMATION_SCHEMA.columns 
WHERE TABLE_NAME <>'dtproperties'
AND COLLATION_NAME NOT LIKE @Collate
ORDER BY COLUMN_NAME

Use the results of the script to alter the collation.