J'essaie de standardiser toutes les bases de données sur un seul classement - Latin1_General_CI_AS (le classement standard). J'ai des bases de données qui se trouvent dans SQL_Latin1_General_CP1_CI_AS.
Je sais que je peux utiliser ALTER DATABASE pour modifier le classement de la base de données, mais cela n'affecte que les nouveaux objets. Ma compréhension est que la seule façon de modifier les colonnes existantes est de faire ALTER COLUMN sur chaque colonne de chaque table - et je devrais supprimer et recréer tous les index pour faire même cela.
Je suppose que cela ressemblerait à quelque chose comme ceci:
DROP INDEX indexname ON tablename
GO
ALTER TABLE tablename ALTER COLUMN columname varchar(50) COLLATE Latin1_General_CI_AS NULL
GO
CREATE CLUSTERED INDEX indexname ON tablename (columname ASC)
et répétez l'opération pour chaque colonne varchar, char, text, nvarchar, nchar et ntext de la base de données entière. Ce serait un énorme script SQL.
Existe-t-il un moyen plus simple de le faire, ou quelqu'un peut-il suggérer un moyen d'automatiser la création d'un script SQL pour le faire?
la source