这是我当时用来动态修改每个表的排序规则的脚本,你改一下就可以用了SELECT 'alter table ' + OBJECT_NAME(OBJECT_ID) + ' alter column ' + a.name + ' ' + b.name + '(' + CASE WHEN a.max_length = -1 THEN 'max' ELSE CONVERT(NVARCHAR(10), a.max_length) END + ')' + ' Collate SQL_Latin1_General_CP1_CI_AS' FROM sys.columns a INNER JOIN sys.types b ON a.system_type_id = b.system_type_id WHERE OBJECT_NAME(OBJECT_ID) NOT LIKE 'sys%' AND a.collation_name IS NOT NULL AND a.collation_name <> 'SQL_Latin1_General_CP1_CI_AS' AND a.system_type_id IN ( 167, 231, 239 ) AND a.user_type_id = b.system_type_id AND b.user_type_id = b.system_type_id ORDER BY a.NAME
+ ' ' + b.name + '(' + CASE WHEN a.max_length = -1 THEN 'max'
ELSE CONVERT(NVARCHAR(10), a.max_length)
END + ')'
+ ' Collate SQL_Latin1_General_CP1_CI_AS'
FROM sys.columns a
INNER JOIN sys.types b ON a.system_type_id = b.system_type_id
WHERE OBJECT_NAME(OBJECT_ID) NOT LIKE 'sys%'
AND a.collation_name IS NOT NULL
AND a.collation_name <> 'SQL_Latin1_General_CP1_CI_AS'
AND a.system_type_id IN ( 167, 231, 239 )
AND a.user_type_id = b.system_type_id
AND b.user_type_id = b.system_type_id
ORDER BY a.NAME