Essayez de changer la collation de QA:.
ALTER DATABASE DBNAME
COLLATE Cyrillic_General_CI_AS
Vous peut trouver tous les classements possibles par requête:
SELECT *
FROM ::fn_helpcollations()
Si vous avez un champs dans la base de données avec le classement diferent vous devez convertir:
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'))
Si l'assemblage de base de données et classement du serveur SQL sont différents, vous pouvez avoir des problèmes avec tempdb. Fondamentalement, vous devez réexécuter l'installation pour reconstruire la base de données master avec le nouveau classement. Vous ne pouvez pas modifier le classement de tout le serveur d'une autre manière.
Quoi qu'il en soit, je pense qu'il est plus facile à installer nouvelle instance de MS SQL Server avec nouveau classement :)
grâce Demas, donc dans ce cas, je changerai la « ALTER DATABASE NOMBDD COLLATE Cyrillic_General_CI_AS » dans tout ce que ma collation actuelle droite ? –
Oui, mais vérifiez-vous avec SELECT * FROM :: fn_helpcollations() – demas
merci l'homme ça fonctionne maintenant .... –