すべてのデータベースを単一の照合-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スクリプトの作成を自動化する方法を誰かが提案できますか?