Имя: Пароль:
1C
1С v8
Поломался индекс
,
0 IronDemon
 
06.12.11
17:35
Почему то поломалось :(
DBCC CHECKTABLE ('_AccumReg5227', REPAIR_REBUILD) выдал такое:
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._AccumReg5227' and the index name '_AccumR5227_ByPeriod_TRN'. The duplicate key value is (Apr 16 2007  4:04PM, 0x00000089, 0xa5100004234739b411dbec1336244252, 2).
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._AccumReg5227' and the index name '_AccumR5227_ByRecorder_RN'. The duplicate key value is (0x0000006c, 0xa5100004234739b411dbec0f0c1decf1, 1).
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._AccumReg5227' and the index name '_AccumR5227_ByDims6441_RTRN'. The duplicate key value is (0xbded0030482898d011db311790fdc447, Apr 16 2007  4:04PM, 0x00000089, 0xa5100004234739b411dbec1a09050824, 6).
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._AccumReg5227' and the index name '_AccumR5227_ByDims6442_RTRN'. The duplicate key value is (0x89130030482898d011da92bb2ba30108, Apr 16 2007  4:10PM, 0x00000089, 0xa5100004234739b411dbec1b635d61dd, 1).
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._AccumReg5227' and the index name '_AccumR5227_ByDims6443_RTRN'. The duplicate key value is (0x89130030482898d011da92b1dedbd77d, Apr 16 2007  4:04PM, 0x00000089, 0xa5100004234739b411dbec1336244252, 2).
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._AccumReg5227' and the index name '_AccumR5227_ByDims6444_RTRN'. The duplicate key value is (0xa79841ebe5e5b977449b6bced05404a0, Apr 16 2007  4:04PM, 0x00000089, 0xa5100004234739b411dbec1336244252, 2).
DBCC results for '_AccumReg5227'.
Msg 8945, Level 16, State 1, Line 1
Table error: Object ID 2033650538, index ID 1 will be rebuilt.
       Could not repair this error.
Msg 8933, Level 16, State 1, Line 1
Table error: Object ID 2033650538, index ID 1, partition ID 72057674994876416, alloc unit ID 72057675083481088 (type In-row data). The low key value on page (1:2688816) (level 0) is not >= the key value in the parent (1:2659483) slot 102.
       The error has been repaired.
Msg 8934, Level 16, State 2, Line 1
Table error: Object ID 2033650538, index ID 1, partition ID 72057674994876416, alloc unit ID 72057675083481088 (type In-row data). The high key value on page (1:2688822) (level 0) is not less than the low key value in the parent (0:1), slot 0 of the next page (1:2688823).
       The error has been repaired.
Msg 8934, Level 16, State 3, Line 1
Table error: Object ID 2033650538, index ID 1, partition ID 72057674994876416, alloc unit ID 72057675083481088 (type In-row data). The high key value on page (1:2688822) (level 0) is not less than the low key value in the parent (0:1), slot 0 of the next page (1:2688823).
       The error has been repaired.
Msg 8933, Level 16, State 1, Line 1
Table error: Object ID 2033650538, index ID 1, partition ID 72057674994876416, alloc unit ID 72057675083481088 (type In-row data). The low key value on page (1:2688823) (level 0) is not >= the key value in the parent (1:2659483) slot 109.
       The error has been repaired.
Msg 8934, Level 16, State 2, Line 1
Table error: Object ID 2033650538, index ID 1, partition ID 72057674994876416, alloc unit ID 72057675083481088 (type In-row data). The high key value on page (1:2856666) (level 0) is not less than the low key value in the parent (0:1), slot 0 of the next page (1:2688816).
       The error has been repaired.
Msg 8934, Level 16, State 3, Line 1
Table error: Object ID 2033650538, index ID 1, partition ID 72057674994876416, alloc unit ID 72057675083481088 (type In-row data). The high key value on page (1:2856666) (level 0) is not less than the low key value in the parent (0:1), slot 0 of the next page (1:2688816).
       The error has been repaired.
Msg 8945, Level 16, State 1, Line 1
Table error: Object ID 2033650538, index ID 2 will be rebuilt.
       Could not repair this error.
Msg 8945, Level 16, State 1, Line 1
Table error: Object ID 2033650538, index ID 3 will be rebuilt.
       Could not repair this error.
Msg 8945, Level 16, State 1, Line 1
Table error: Object ID 2033650538, index ID 4 will be rebuilt.
       Could not repair this error.
Msg 8945, Level 16, State 1, Line 1
Table error: Object ID 2033650538, index ID 5 will be rebuilt.
       Could not repair this error.
Msg 8945, Level 16, State 1, Line 1
Table error: Object ID 2033650538, index ID 6 will be rebuilt.
       Could not repair this error.
There are 19429776 rows in 373949 pages for object "_AccumReg5227".
CHECKTABLE found 0 allocation errors and 6 consistency errors in table '_AccumReg5227' (object ID 2033650538).
CHECKTABLE fixed 0 allocation errors and 6 consistency errors in table '_AccumReg5227' (object ID 2033650538).
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
The statement has been terminated.

После Dropa создаю ручками:
CREATE UNIQUE CLUSTERED INDEX [_AccumR5227_ByPeriod_TRN] ON [dbo].[_AccumReg5227]
(
   [_Period] ASC,
   [_RecorderTRef] ASC,
   [_RecorderRRef] ASC,
   [_LineNo] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._AccumReg5227' and the index name '_AccumR5227_ByPeriod_TRN'. The duplicate key value is (Apr 16 2007  4:04PM, 0x00000089, 0xa5100004234739b411dbec1336244252, 2).
The statement has been terminated.

Как вылечить?
1 milan
 
06.12.11
17:41
Очевидно грохнуть дублирующиеся записи ?
А с какой целью запускал dbcc checktable ?
2 Mashinist
 
06.12.11
17:41
в табличке _AccumReg5227 в колонке _AccumR5227_ByPeriod_TRN есть дублирующие строки
нужно оставить только одну
3 IronDemon
 
06.12.11
17:45
(1) Обслуживание вешается
(2) Индексы все удалил. Создать новые не дает.
4 milan
 
06.12.11
17:50
те одну лишнюю строку из регистра надо удалить, можно попробовать запустить ТИИ, мож само удалит.
Можно док который сделал кривые движения найти и перепровести.
5 IronDemon
 
06.12.11
18:25
ТИИ не устроит.
6 IronDemon
 
06.12.11
18:25
Вот такую картину нашел: http://clip2net.com/s/1nt7B
И как ЭТО запросом найти...
7 rs_trade
 
06.12.11
18:34
(6) да вроде нормальная картинка. что в ней не так?
8 rs_trade
 
06.12.11
18:36
сделай в запросе count() по регистратору с упорядочиванием по убыванию. покажет 2 штуки?
9 rs_trade
 
06.12.11
18:37
(7) номер строки в ней не так. сразу не разглядел
10 rs_trade
 
06.12.11
18:40
отмени проведение документа. и проведи заново.
11 rs_trade
 
06.12.11
18:42
если не дает отменить проведение или перепровести, грохни через скуль записи по регистратору. потом проведи нормально.
12 pumbaEO
 
06.12.11
18:49
(11) через скуль грохни записи, создай индексы, отмени и проведи документ. Удачи.
13 IronDemon
 
06.12.11
19:06
На копии получилось. Удалил индексы, перепровел документы в проблемных минутах, создал индексы.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.