2014 の SQL Server の日付列を照会するときに返される不適切なデータを修正:

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:3030619
現象

日付データ型の列を含むテーブルを持っていると仮定し、2014 の Microsoft SQL Server 内のこのテーブルにクラスター化列ストア インデックス (CCSI) を実装しています。修飾子として、 DATEデータ型を使用してテーブルをクエリするときに、誤ったデータが返されます。

次に例を示します。
create table tab2(c1 int, c2 date, c3 varchar(10)) CREATE CLUSTERED COLUMNSTORE INDEX [CCI_tab2] ON [tab2] WITH (DROP_EXISTING = OFF)GO select *FROM tab2 S --  Table with clustered columnstore indexWHERE S.c2 = @date  -- variable of Date datatype

解決方法

サービス パックの情報

2014 の SQL Server の Service Pack 1 をこの問題を解決するのに取得します。

SQL Server 2014年サービス パック 1 (SP1) の詳細を参照してください。 SQL Server 2014年の Service Pack 1 で修正されるバグ.

累積的な更新プログラムの情報

この問題は SQL Server の次の累積的な更新プログラムで最初に修正されました。
に関する推奨事項: 最新バージョンの累積的な更新を SQL Server のインストールします。
ごと新しいの累積的な更新 SQL Server にはのすべての修正プログラムが含まれていて、以前の累積的な更新プログラムとセキュリティ修正がすべて付属します。SQL Server の最新の累積的な更新プログラムをご覧ください。
詳細
この問題を再現するのに次のコードを使用します。
create table tab1(c1 int, c2 date) insert into tab1values (1 , '2000-01-01') CREATE NONCLUSTERED INDEX [idxtab1c2] ON tab1(       c2 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) create table tab2(c1 int, c2 date, c3 varchar(10)) insert into tab2values (1, '2000-01-01', 'test') CREATE CLUSTERED COLUMNSTORE INDEX [CCI_tab2] ON [tab2] WITH (DROP_EXISTING = OFF)GO create table t([runId] int not null, [scalingFactor] float not null)  -- REPRO QUERY. Below batch is expected to return a row but we don’t get ittruncate table tDECLARE @date DATE, @numDates INT INSERT INTO t VALUES(1, 1)DECLARE @date DATE, @numDates INTSELECT @date = max(R.c2) , @numDates = COUNT(distinct R.c2)FROM tab1 R INNER JOIN t D ON R.c1 = D.runId select *FROM tab2 S -- CCIWHERE S.c2 = @date

状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

警告: この記事は自動翻訳されています

プロパティ

文書番号:3030619 - 最終更新日: 06/25/2015 05:08:00 - リビジョン: 6.0

Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3030619 KbMtja
フィードバック