תופעות
נניח שברשותך טבלה המכילה עמודת סוג נתונים של תאריך , והיישמת את אינדקס חנות העמודות המקובצים באשכולות (CCSI) בטבלה זו ב-Microsoft SQL Server 2014. בעת ניסיון לבצע שאילתה על הטבלה באמצעות סוג הנתונים ' תאריך ' כמזהה, ייתכן שיוחזרו נתונים שגויים. לדוגמה: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
פתרון
מידע אודות service pack
כדי לפתור בעיה זו, השיגו את Service Pack 1 עבור SQL Server 2014.
לקבלת מידע נוסף אודות SQL Server 2014 Service Pack 1 (SP1), ראה באגים הקבועים ב-Sql server 2014 Service Pack 1.
מידע אודות עדכון מצטבר
בעיה זו תוקנה לראשונה בעדכון המצטבר הבא של 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
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".