SQL Serverでは、インスタンス単位で照合順序というものが設定されています。
この照合順序は、デフォルトでインストールした場合の既定の設定値は【Japanese_CI_AS】です。この設定を変更する場合は、最悪インストールからやり直しになってしまうので必ずチェックしておきましょう。
SQL Serverの照合順序を確認する
すでにインストールされている照合順序を確認する方法は、以下のSQLで確認できます。
この設定は、インスタンスごとに設定されているので複数のインスタンスをインストールしている場合は、インスタンスごとに確認する必要があります。
【SQLで確認】
SELECT SERVERPROPERTY('COLLATION') AS サーバー照合順序
【ManagementStudioで確認する方法】
Management Studioでインスタンスを右クリック→プロパティでサーバーの照合順序で確認することもできます。インストール時に特に変更していない場合は、【Japanese_CI_AS】です。
SQL Serverで設定している照合順序って何?
照合順序は、文字データの比較と照合の方法を決める基準のことです。SQL Serverのデータを使用してシステムを構築している際は、検索結果に影響が出てしまう可能性があります。
CI・・・Case Insensitiveの意味
AS・・・Accent Sensitiveの意味
略号 | 説明 |
_BIN | 文字ごとに定義されたバイナリーレベルのビットパターンに即して並び替えが行われる。大文字と小文字も区別される。主に、旧バージョンとの互換性のためのものなので旧システムで使用していない限り設定はしない。 |
_BIN2 | Unicodeに割り当てられたコードポイントに即して並び替えられる。Unicodeではない場合は、_BIN同様バイナリーで並び替え |
_CS | 大文字と小文字の区別をする。[A]と[a]は区別される。 |
_CI | 大文字と小文字の区別をしない。[A]と[a]は同じ。 |
_AS | アクセント、濁音、半濁音の区別を行う。「は」と「ば」と「ぱ」は区別される。 |
_AI | アクセント、濁音、半濁音の区別をしない。「は」と「ば」と「ぱ」は同じ。 |
_KS | ひらがなとカタカナの区別する。「あ」と「ア」は区別される。 |
_WS | 半角と全角を区別する。 |
SQL Serverをインストールしたときの既定の設定である、【Japanese_CI_AS】は,
日本語で大文字小文字を区別せず同じとするが、アクセント、濁音、半濁音は、区別される設定という意味になります。
すでに設定した照合順序は変更できる?
照合順序の変更はできますが、データベースやテーブルを再作成しない照合順序の変更がされないなど、問題が多いので基本的にはSQL Serverの再インストールを行い、照合順序を変更するのが一番確実です。変更するのはかなり面倒くさいのでインストール時には必ず設定を確認しておきましょう。
照合順序についてのまとめ
まとめると、
- 照合順序は、インスタンスごとに設定されインストール時に設定を行う。
- 照合順序は、文字データの比較と照合の方法を決める基準
- 照合順序の規定値はJapanese_CI_AS
- 照合順序を変更する場合は基本的にSQL Serverの再インストールが必要
コメント