NUSTATYTI: Kai jūsų užklausos data stulpelyje SQL Server 2014 m. klaidingi duomenys

SVARBU: šis straipsnis išverstas naudojant „Microsoft“ mašininio vertimo programinę įrangą ir gali būti pataisytas naudojant „Community Translation Framework“ (CTF) technologiją. „Microsoft“ siūlo mašinos išverstus ir po to bendruomenės suredaguotus straipsnius, taip pat žmogaus išverstus straipsnius siekdama suteikti prieigą prie visų savo žinių bazės straipsnių daugeliu kalbų. Mašinos išverstuose ir vėliau paredaguotuose straipsniuose gali būti žodyno, sintaksės ir / arba gramatikos klaidų. „Microsoft“ neatsako už jokius netikslumus, klaidas arba žalą, patirtą dėl neteisingo turinio vertimo arba mūsų klientų naudojimosi juo. Daugiau apie CTF žr. http://support.microsoft.com/gp/machine-translation-corrections.

Spustelėkite čia, norėdami pamatyti šio straipsnio versiją anglų kalba: 3030619
Požymiai

Tarkime, kad turite lentelę, kurioje yra datos duomenų tipo stulpelį, diegiant sugrupuotos stulpelio parduotuvės indeksas (CCSI) šios lentelės Microsoft SQL Server 2014. Bandant užklausą lentelę naudojant duomenų tipas yra data yra naudojamas kaip klaidingi duomenys gali būti grąžintas.

Pvz.:
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

Pakeitimų paketo informacija

Norėdami išspręsti šią problemą, SQL serverio 2014 m. gauti 1 pakeitimų paketą.

Jei norite gauti daugiau informacijos apie SQL serverio 2014 1 pakeitimų paketą (SP1), žr. SQL Server 2014 1 pakeitimų pakete ištaisytų.

Kaupiamojo naujinimo informacija

Ši problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Rekomendacija: Įdiegti naujausią kaupiamąjį naujinimą SQL Server
SQL serverio kiekvieną naują Kaupiamasis naujinimas yra visos karštosios ir naujausios saugos pataisos, kurios buvo įtrauktos į ankstesnio kaupiamojo naujinimo. Patikrinkite SQL Server kaupiamieji naujinimai:
Daugiau informacijos
Naudokite šį kodą šiai problemai atkurti:
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

Būsena
„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.

Įspėjimas: šis straipsnis išverstas automatiškai

Savybės

Straipsnio ID: 3030619 – Paskutinė peržiūra: 06/25/2015 05:07:00 – Peržiūra: 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 KbMtlt
Atsiliepimai