Problembeschreibung

Angenommen, Sie verfügen über eine Tabelle, die eine Date -Datentypspalte enthält, und Sie haben den gruppierten Spalten Speicher Index (CCSI) in dieser Tabelle in Microsoft SQL Server 2014 implementiert. Wenn Sie versuchen, die Tabelle abzufragen, indem Sie den Date -Datentyp als Qualifizierer verwenden, werden möglicherweise falsche Daten zurückgegeben. Zum Beispiel: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

Fehlerbehebung

Service Pack-Informationen

Um dieses Problem zu beheben, besorgen Sie sich Service Pack 1 für SQL Server 2014.

Weitere Informationen zu SQL Server 2014 Service Pack 1 (SP1) finden Sie unter Fehler, die in SQL Server 2014 Service Pack 1 behoben wurden.

Informationen zur kumulativen Aktualisierung

Dieses Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:

Weitere Informationen

Verwenden Sie den folgenden Code, um dieses Problem zu reproduzieren: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

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×