OVH Cloud OVH Cloud

Problème de collation

1 réponse
Avatar
David T
Bonjour,

dans notre filiale chinoise, SQL server (version US
install=E9e sur un windows US) a pour collation par d=E9faut
une collation de type chinoise. Or cela pose des probl=E8mes
avec la base qui a =E9t=E9 restaur=E9e l=E0-bas.
Sur certaines requ=EAtes on obtient des messages "Cannot
resolve collation conflict for equal to operation."

Questions : est-il possible de changer la collation par
d=E9faut du serveur (et d'en faire h=E9riter les bases
existantes) ?
Sinon est-ce qu'un ALTER DATABASE avec option COLLATE
pourrait suffir pour tout "remettre dans l'ordre" ?
Et sinon quelles solution sont possibles ?

Merci bien de vos conseils.

David

1 réponse

Avatar
Laurent
Bonjour,

Le problème est du à une requete effectuant une jointure sur des types
textes avec des collation différentes.
Pour répondre à ta question, il n'est pas possible de changer le collate au
niveau serveur, à moins de réinstaller l'instance sQL.

En revanche plusieurs possibilités :
-1) Recréer une base avec le collate voulu, passer un script de création des
tables avec le bon collate, et importer les données.
-2) Passer un script sur la base en question pour y remetter le colltate
voulu, attention, le collate va jusqu'au niveau colonne, donc il faut le
changer pour la table (pour les futures modifications) et au niveau colonne.
-3) Si il n'y a pas beaucoup de requetes incriminiées, il est également
possible de forcer le collate à utiliser lors de l'execution des requetes.
Bonne journée.

"David T" a écrit :

Bonjour,

dans notre filiale chinoise, SQL server (version US
installée sur un windows US) a pour collation par défaut
une collation de type chinoise. Or cela pose des problèmes
avec la base qui a été restaurée là-bas.
Sur certaines requêtes on obtient des messages "Cannot
resolve collation conflict for equal to operation."

Questions : est-il possible de changer la collation par
défaut du serveur (et d'en faire hériter les bases
existantes) ?
Sinon est-ce qu'un ALTER DATABASE avec option COLLATE
pourrait suffir pour tout "remettre dans l'ordre" ?
Et sinon quelles solution sont possibles ?

Merci bien de vos conseils.

David