Click here to Skip to main content
14,608,367 members
Articles » Database » Database » SQL Server » Downloads

SQL Server 2000 Collation Changer

Rate this:
4.88 (99 votes)
Please Sign up or sign in to vote.
4.88 (99 votes)
3 Mar 2008CPOL
Change collation order for all text columns in a database

--drop indexes
insert into #sql(sql)
select	case when is_primary_key=1 OR is_unique_constraint=1
		then 
			'ALTER TABLE ['+SCHEMA_NAME(o.schema_id)+'].['+o.name +'] DROP CONSTRAINT [' + i.name +']'
		else 
			'DROP INDEX [' + i.name +'] ON ['+SCHEMA_NAME(o.schema_id)+'].['+o.name +']' end
from	sys.indexes i
join	sys.objects o
on		i.object_id = o.object_id
where	(exists (
				--find any columns that have a collation specified
				select	1
				from	sys.index_columns ic
				join	sys.columns c
				on		ic.object_id = c.object_id
				and		ic.column_id = c.column_id
				where	collation_name is not null 
				and		c.object_id = i.object_id
				and		ic.index_id = i.index_id) 
				--{2} is the rebuild indexes option from application
				OR {2} = 1)
and		o.is_ms_shipped = 0
and		i.type <> 0 --dont care about heaps


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Alex Baker
Software Developer RXP Services
Australia Australia
No Biography provided

Comments and Discussions

Stats

571.7K views
9.7K downloads
101 bookmarked