Я пытаюсь стандартизировать все базы данных с помощью одного сопоставления - Latin1_General_CI_AS (стандартное сопоставление). У меня есть несколько баз данных, которые находятся в SQL_Latin1_General_CP1_CI_AS.
Я знаю, что могу использовать ALTER DATABASE для изменения параметров сортировки базы данных, но это влияет только на новые объекты. Насколько я понимаю, единственный способ изменить существующие столбцы - это сделать ALTER COLUMN для каждого столбца в каждой таблице - и мне нужно было бы удалить и заново создать все индексы, чтобы сделать это.
Я думаю, это будет выглядеть примерно так:
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)
и повторите для каждого столбца varchar, char, text, nvarchar, nchar и ntext во всей базе данных. Это был бы огромный сценарий SQL.
Есть ли более простой способ сделать это, или кто-нибудь может предложить способ автоматизации создания сценария SQL для этого?
источник