メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

1つ以上のインデックスが作成された Microsoft SQL Server テーブルがあることを前提としています。 テーブルに対してクエリを実行すると、SQL Server によって CHAR 列と BINARY 列のデータが矛盾している可能性があります。 CHAR データ列と BINARY データ列の末尾で末尾の空白を返す動作に不整合がある場合は、次の条件によって異なります。

  • SQL Server テーブルで列が作成されたときの ANSI_PADDING の設定。

  • 列でテーブルスキャンまたはインデックスシークのいずれかを実行するかどうかを決定します。

原因

場合によっては、SQL Server が最適化を実行して、データ配信を高速化するために多くの操作をバイパスすることができます。 この問題は、SQL Server によって、上記のシナリオで最適化を適用できないことが認識されないために発生します。

詳細情報

SQL Server のこの動作は、次の記事に記載されている動作 ( Char データと Varchar データの使用) に準拠していません。

Char NULL 列が作成されたときに ANSI_PADDING がオンになっていると、char NOT NULL 列と同じように動作します。値は、列のサイズに対して右に埋め込まれます。 Char NULL 列が作成されたときに ANSI_PADDING がオフになっている場合は、varchar 列と同じように、ANSI_PADDING がオフになっています。末尾の空白は切り捨てられます。

解決方法

この問題は、SQL Server の次の累積的な更新プログラムで修正されています。

       SQL Server 2017 の累積更新プログラム2

       SQL Server 2016 の累積更新プログラム9

       SQL Server 2016 SP1 の累積更新プログラム6

       SQL Server 2014 SP2 の累積更新プログラム8

       SQL Server 2014 SP1 の累積更新プログラム7

SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。

SQL Server 2017 の最新の累積的な更新プログラム

SQL Server 2016 の最新の累積的な更新プログラム

SQL Server 2014 の最新の累積的な更新プログラム

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

関連情報

ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×