照合順序の変更方法
既存のデータベースの照合順序を Japanese_CI_AS*1 から Japanese_90_BIN2*2 や Japanese_90_CS_AS*3 などに変更したい場合の手順メモです。
照合順序を変更するには、データベースのプロパティ「オプション」から「照合順序」から可能ですが、この値を変更しても既存テーブルの各カラムには新しい照合順序が反映されません。各カラムに照合順序を反映するには、
- 新しくデータベースを作成し、そちらに SSIS などでデータを移す
- SQL Server 2000 Collation Changer などツールを利用
などの方法があります。どちらの方法でも可能ですが、新しくデータベースを作り直してもいいのであれば、そちらの方が構造がきれいになるのでおすすめです。
参考までに、既存カラムの照合順序を調べるための SQL を以下に記述します。
SELECT OBJECT_NAME(sys.objects.object_id) AS 'Table Name' , sys.columns.name AS 'Column Name' , sys.columns.collation_name FROM sys.columns INNER JOIN sys.objects ON sys.columns.object_id = sys.objects.object_id WHERE sys.objects.type = 'U' ORDER BY OBJECT_NAME(sys.objects.object_id) , sys.columns.name