SCRIPT: How to change collation on database and table columns?

 -- make sure no one else is using database
ALTER DATABASE [databas_name] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
 
-- change collation
ALTER DATABASE [databas_name] COLLATE SQL_Latin1_General_CP1_CI_AI -- new collation
 
-- allow users back into the database
ALTER DATABASE [databas_name] SET MULTI_USER



USE [databas_name]
GO
--Check table columns collations
SELECT c.name,
       c.collation
  FROM SYSCOLUMNS c
 WHERE [id] = OBJECT_ID('table_name')
 
-- Change column collation
ALTER TABLE dbo.table_name ALTER COLUMN column_name
            varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AI NULL; 
GO

Comments