嘗試從QA改變歸類:?
ALTER DATABASE DBNAME
COLLATE Cyrillic_General_CI_AS
你可以通過查詢找到所有可能的排序規則:
SELECT *
FROM ::fn_helpcollations()
如果您有與diferent整理數據庫中的字段,你需要將其轉換:
SELECT 'ALTER TABLE ['+
rtrim(TABLE_NAME)+
'] ALTER COLUMN ['+
rtrim(COLUMN_NAME)+
'] '+
rtrim(DATA_TYPE)+
CASE WHEN NOT(CHARACTER_MAXIMUM_LENGTH IS NULL) OR (CHARACTER_MAXIMUM_LENGTH=0)
THEN '('+convert(varchar(10),CHARACTER_MAXIMUM_LENGTH)+')'
END+
' COLLATE Latin1_General_CI_AS' COLLATE Latin1_General_CI_AS
FROM INFORMATION_SCHEMA.COLUMNS
WHERE (TABLE_CATALOG=DB_NAME() COLLATE Latin1_General_CI_AS) AND
((DATA_TYPE LIKE '%char%' COLLATE Latin1_General_CI_AS) OR (DATA_TYPE LIKE '%text%' COLLATE Latin1_General_CI_AS)) AND
(COLLATION_NAME IS NOT NULL) AND
(COLLATION_NAME <> 'Latin1_General_CI_AS' COLLATE Latin1_General_CI_AS) AND
TABLE_NAME in (SELECT o.name
FROM sysobjects o
WHERE (o.xtype = 'U'))
如果數據庫整理和SQL Server排序規則是不同的,你可以有tempdb的煩惱。基本上,您需要再次運行安裝以使用新歸類重建主數據庫。您無法以其他方式更改整個服務器的排序規則。
無論如何,我認爲這是更容易安裝的MS SQL Server的新實例和新的歸類:)
感謝底馬,所以在這種情況下,我應該改變「ALTER DATABASE DBNAME COLLATE Cyrillic_General_CI_AS」到任何我目前的整理對 ? – 2010-12-10 05:32:17