yes you are correct
I actually devised a script to change the collation of every object, but then realized that the other constraints were blocking me.
It would have been a huge task
here are some of the SQL statements I attempted - Oh and I also failed with respect to nvarchar(max) - but that is a different story
Select convert(sysname, serverproperty(N'collation'))
select database_id, name from sys.databases
SET NOCOUNT ON
/*Find database default*/
DECLARE @name sysname,
@Collate VARCHAR(50)
SET @name =DB_NAME(7) -- The DataBase Number that you intend to use.
print @name
--SET @Collate =(SELECT CONVERT (sysname, DATABASEPROPERTYEX (@name,'Collation')))
SET @Collate =(Select convert(sysname, serverproperty(N'collation')))
print @Collate
SELECT 'ALTER TABLE ' + TABLE_NAME + ' ALTER COLUMN ' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR(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
Tom Romeo
Practical Compliance Solutions Corp.
One Orient Way - Suite F156.
Rutherford, NJ 07070-2524
--------------------------------
www.complianceabc.com
email: tromeo@complianceabc.com
Phone: 201-728-8809