Migrer une base de données SQL Server en Unicode ?
Bonjour,
Je suis en train de migrer des bases de données Oracle de la version 11g à la version 12c, par export / import et j'en profite au passage
pour changer de jeu de caractères, et passer ainsi mes bases en Unicode.
En théorie, pour utiliser l'Unicode, on doit utiliser NCHAR, NVARCHAR... comme type de données.
Mais avec Oracle, pas besoin car Oracle dispose de 2 jeux de caractères. Le "Character Set" pour les types de données en CHAR, VARCHAR, CLOB... et le "National Character Set" pour les types de données en NCHAR, NVARCHAR, NCLOB.
Le "National Character Set" est en Unicode (AL16UTF16).
Le "Character Set" accepte lui des jeux de caractères mono-byte comme le WE8MSWIN1252 ou le WE8ISO8859P15, mais aussi des jeux de caractères Unicode comme l'UTF8 ou plus récent (AL32UTF8).
Ainsi je peux conserver mes types de données CHAR, VARCHAR... et exporter ma base source 11g en WE8MSWIN1252, pour l'importer dans une base 12c en AL32UTF8.
Par contre, si je devais faire pareil sur SQL Server (le cas ne s'est pas encore présenté pour le moment), comment dois-je procéder ?
En clair, si j'ai une base SQL Server non Unicode, avec une centaine de tables et des centaines voire des milliers de colonnes en CHAR, VARCHAR, TEXT comme type de données, j'ai l'impression que je dois forcément convertir toutes ces colonnes en NCHAR, NVARCHAR et NTEXT. C'est bien cela ?
Si oui, comment s'y prend on pour faire cela de la manière la plus efficace possible ?
Merci pour vos réponses.