Simptomai
Tarkime, kad turite lentelę, kurioje yra datos duomenų tipo stulpelis, o jūs įdiegėte sankaupos stulpelio saugyklos INDEKSĄ (CCSI) šioje lentelėje "Microsoft SQL Server" 2014. Kai bandote pateikti užklausą lentelėje naudodami datos duomenų tipą kaip kvalifikatorių, gali būti pateikti neteisingi duomenys. Pavyzdžiui: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
Sprendimas
Paslaugų paketo informacija
Norėdami išspręsti šią problemą, įsigykite "SQL Server 2014" 1 pakeitimų paketą.
Daugiau informacijos apie "SQL Server 2014" 1 pakeitimų paketą (SP1) ieškokite " SQL server 2014" 1 pakeitimų pakete ištaisytos klaidos.
Kaupiamojo naujinimo informacija
Ši problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Daugiau informacijos
Norėdami atkurti šią problemą, naudokite šį kodą: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" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.