Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Symptomer


Anta at du har en tabell som inneholder en kolonne med datatypen dato , og du har implementert gruppert kolonne butikken indeks (CCSI) for denne tabellen i Microsoft SQL Server-2014. Når du prøver å spørre tabellen ved hjelp av datatypen dato som en kvalifikator, kan feil data returneres.

For eksempel: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 index
WHERE S.c2 = @date -- variable of Date datatype

Oppløsning

Informasjon om oppdateringspakke

Hvis du vil løse dette problemet, får tak i Service Pack 1 for SQL Server-2014.

Hvis du vil ha mer informasjon om SQL Server 2014 Service Pack 1 (SP1), kan du se feil som er løst i SQL Server 2014 Service Pack 1.

Informasjon om kumulativ oppdatering

Dette problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.


Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:


Hvis du vil ha mer informasjon

Bruk følgende kode for å gjenskape problemet:create table tab1(c1 int, c2 date)

insert into tab1
values (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 tab2
values (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 it
truncate table t
DECLARE @date DATE, @numDates INT

INSERT INTO t VALUES(1, 1)
DECLARE @date DATE, @numDates INT
SELECT @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 -- CCI
WHERE S.c2 = @date

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×