BIN 照合順序と BIN2 照合順序の使用に関するガイドライン

BIN のバイナリ照合順序と BIN2 のバイナリ照合順序のうち、どちらの照合順序が現在の SQL Server 実装に適しているかについては、以下の考慮事項を参考にして判断してください。

バイナリ照合順序では、ロケールおよびデータ型によって定義されるコード値のシーケンスに基づいてデータを並べ替えます。Analysis Services のバイナリ照合順序では、使用するロケールと ANSI コード ページを定義し、バイナリ並べ替え順が設定されます。バイナリ照合順序は比較的単純なので、アプリケーションのパフォーマンス向上に役立ちます。非 Unicode データ型の場合は、ANSI コード ページで定義されているコード ポイントに基づいてデータが比較されます。Unicode データ型の場合は、Unicode コード ポイントに基づいてデータが比較されます。Unicode データ型のバイナリ照合順序では、データを並べ替える際にロケールが考慮されません。たとえば、Unicode データに対して Latin_1_General_BIN と Japanese_BIN を使用した場合、並べ替え結果はどちらも同じになります。

以前の SQL Server のバイナリ照合順序 ("_BIN" で終わる) では、Unicode データに対して不完全なコード ポイント間比較が行われていました。以前のバージョンの SQL Server でのバイナリ照合順序では、最初の文字が WCHAR として比較された後、続いてバイト単位の比較が行われていました。旧バージョンとの互換性を維持するため、既存のバイナリ照合順序セマンティクスは変更されません。

BIN 照合順序の使用に関するガイドライン

SQL Server アプリケーションを、バイナリ照合順序を使用する以前のバージョンの SQL Server と連携させる場合は、引き続きバイナリを使用してください。一般に、混在環境ではバイナリ照合順序が適しています。

BIN2 照合順序の使用に関するガイドライン

SQL Server 最新リリースのバイナリ照合順序には、純粋なコード ポイント比較照合順序セットが追加されました。このバイナリ照合順序へ移行すると、完全なコード ポイント比較を利用でき、新しいアプリケーションの開発にこの新しいバイナリ照合順序を使用できるようになります。新しいコード ポイント照合順序セマンティクスを実装する照合順序名は、BIN2 サフィックスによって識別されます。BIN2 に対応するバイナリ並べ替え用の比較フラグもあります。また、アプリケーション開発が容易になる、セマンティクスが明確になる、などの利点もあります。