概要
Microsoft SQL Serverでは、UTF-8 をネイティブにサポートしていないクライアント ドライバーに対して、現在アクティブなデータベースの照合順序が提供されます。 アクティブなデータベースが UTF-8 照合順序を使用して照合されると、照合順序の値はクライアント ドライバーに逐語的に送信されます。 ただし、これらのクライアント ドライバーは照合順序をサポートできません。 渡された照合順序の値は、リモート プロシージャ呼び出し (RPC) パラメーターをエンコードするためにクライアント ドライバーによって使用されます。 これにより、CHAR または VARCHAR クエリ パラメーターのバインドが正しくない可能性があります。
この機能強化によりSQL Server、UTF-8 以外の最も近い一致する照合順序を、UTF-8 をネイティブにサポートしていないクライアント ドライバーに送信できます。 そのため、RPC パラメーターは正しくエンコードされます。
詳細
この機能強化は、SQL Serverの次の累積的な更新プログラムに含まれています。
SQL Server 2019 の累積的な更新プログラム 17
注:
-
この更新プログラムは既定で無効になっており、トレース フラグ 11813 をオンにすることで有効にすることができます。
-
UTF-8 データベースの操作に最適なエクスペリエンスを得るには、クライアント ドライバーを UTF-8 をネイティブにサポートするバージョンにアップグレードする必要があります。 最も近い UTF8 以外の照合順序で、バインドされたパラメーター値内のすべての文字を表すことができるエンコードを使用する場合でも、パラメーター バインド中にデータが失われる可能性があります。
-
最新のクライアント ドライバーを取得する方法については、Microsoft SQL Databaseの接続モジュールに関するページを参照してください。
SQL Serverの新しい累積的な更新プログラムには、前のビルドにあったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 お使いのバージョンのSQL Serverに最新のビルドをインストールすることをお勧めします。
関連情報
Microsoft がソフトウェア 更新プログラムの説明に使用する用語について説明します。