基本事項ではありますが、いろいろ気になることがあったのでメモしておく。
[1] Express Editionでも、Developer Editionでも、既定(Default)の照合順序は「Japanese_CI_AS」
「CI_AS」は「Japanese, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive」の省略表記だそうで、大文字小文字、ひらがなカタカナ、全角半角が区別されません。
declare @a varchar(20)
SET @a = REPLACE(N’ハイフン-と-’, N’-', ‘[-]’)
print @a
select @a
上記のクエリを実行すると、半角ハイフン、全角ハイフンともに置換されます。
個人的には、「Japanese_BIN2」(大小・全半の区別あり)で運用することの方が多いように思われます。
[2] サーバーインスタンスの照合順序(Server default collation)を変更するには、master DBの再構築が必要
DBに設定されている照合順序を変更するのは簡単ですが、サーバーインスタンスの照合順序を変更するのは大変なようです。
そもそも、そんなことが必要なのか?DBにさえ設定されていればよいのでは? とも思いますが、そうでもないようです。system databaseのcollationがServer defaultに設定されてしまいますし、msdnに記述があるように
変数、GOTO ラベル、一時ストアド プロシージャ、および一時テーブルの識別子は、インスタンスの既定の照合順序になります
ということなので、照合順序はシステム全体で統一しておいた方がよいようです。インストール段階で適切に設定しておくのがよいのでしょうね。