Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Репликация, индексы, проблемы(+)  [new]
Petrovvv
Guest
добрый день
настроена merge репликация( удалять очень не хочется, очень много данных придется прокачивать)
при поытке реплицироваться выдлалась ошибка

The process could not enumerate changes at the 'Subscriber'.
(Source: Merge Replication Provider (Agent); Error number: -2147200999)
---------------------------------------------------------------------------------------------------------------
Could not find the index entry for RID '16125bb6b041b8ca58906d448756b8f02b85e952200' in index page (3:423477), index ID 0, database '***'.
(Source: <БД> (Data source); Error number: 644)
-------------------------------------------------------------------------------------------------------------
запустил
DBCC CHECKDB('<БД>')

выдались ошибке в таблице и надпись что необходимом с REPAIR_ALLOW_DATA_LOSS

запустил, ошибки остались
Server: Msg 8951, Level 16, State 1, Line 1
Table error: Table 'MSmerge_contents' (ID 428580615). Missing or invalid key in index 'nc4MSmerge_contents' (ID 4) for the row:
Server: Msg 8955, Level 16, State 1, Line 1
Data row (3:250771:10) identified by (RID = (3:250771:10) tablenick = 112928001 and rowguid = 4BAE2E7A-DD4F-4477-8A56-B637C890A6B0Ш™^&) has index values (rowguid = 4BAE2E7A-DD4F-4477-8A56-B637C890A6B0`ў^& and tablenick = 112928001 and rowguid = 4BAE2E7A-DD4F-4477-8A56-B637C890A6B0`ў^&).

нашел эту строчку в MSmerge_contents, но удалять она не хочет, т.е. select выдает одну строчку, пишешь delete и (0 row(s) affected)

что посоветуете сделать?

P.S. select @@version

Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
15 окт 04, 12:58    [1036971]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10802
Блог
Может быть стоит попробовать сделать DBCC DBREINDEX для MSmerge_contents, а то и для всех таблиц мераданных...
15 окт 04, 13:10    [1037062]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
Petrovvv
Guest
спасибо, заработало!
запустил DBCC DBREINDEX для всех таблиц с метаданными
потом
DBCC CHECKDB('<БД>', REPAIR_ALLOW_DATA_LOSS)
и все заработало:-)
15 окт 04, 14:26    [1037488]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10802
Блог
Ну вот, а Вы испугались :) ...хорошо, что данные целы остались, остальное лечится.
15 окт 04, 15:33    [1037798]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
Petrovvv
Guest
да особо не пугался, просто это у меня можно сказать образцово показательная репликация:-)))
15 окт 04, 17:39    [1038370]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Репликация, индексы, проблемы(+)  [new]
polbatona
Member

Откуда:
Сообщений: 23
У меня схожая проблема. Настроенная репликация (стороннее приложение) стала выдавать ошибку.
Мои действия:
1) ALTER DATABASE Base SET SINGLE_USER WITH ROLLBACK IMMEDIATE
2) DBCC checkdb('Base')
+

DBCC results for 'Base'.
...
DBCC results for 'COUNTERS_TEPLO'.
Server: Msg 8951, Level 16, State 1, Line 1
Table error: Table 'IZM_TI' (ID 165575628). Missing or invalid key in index 'IX_IZM_TI_TIME_INSERT' (ID 2) for the row:
Server: Msg 8955, Level 16, State 1, Line 1
Data row (1:5221:0) identified by (RID = (1:5221:0) IDCHANNEL = 33306 and TIME = Sep 17 2011 11:13PM) has index values (IDCHANNEL = 33306 and TIME_INSERT = Sep 17 2011 11:13PM and IDCHANNEL = 33306 and TIME = Sep 17 2011 11:13PM).
There are 0 rows in 0 pages for object 'COUNTERS_TEPLO'.
...
DBCC results for 'IZM_TI'.
There are 1067640177 rows in 5179837 pages for object 'IZM_TI'.
CHECKDB found 0 allocation errors and 1 consistency errors in table 'IZM_TI' (object ID 165575628).
...
CHECKDB found 0 allocation errors and 1 consistency errors in database 'Base'.
repair_fast is the minimum repair level for the errors found by DBCC CHECKDB (Base ).
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

3) DBCC CheckDB ('Base', REPAIR_FAST)
+

DBCC results for 'Base'.
...
DBCC results for 'sysfulltextcatalogs'.
Server: Msg 8951, Level 16, State 1, Line 1
Table error: Table 'IZM_TI' (ID 165575628). Missing or invalid key in index 'IX_IZM_TI_TIME_INSERT' (ID 2) for the row:
There are 0 rows in 0 pages for object 'sysfulltextcatalogs'.
...
DBCC results for 'IZM_TI'.
        The error has been repaired.
Server: Msg 8955, Level 16, State 1, Line 1
Data row (1:5221:0) identified by (RID = (1:5221:0) IDCHANNEL = 33306 and TIME = Sep 17 2011 11:13PM) has index values (IDCHANNEL = 33306 and TIME_INSERT = Sep 17 2011 11:13PM and IDCHANNEL = 33306 and TIME = Sep 17 2011 11:13PM).
There are 1067699455 rows in 5180100 pages for object 'IZM_TI'.
CHECKDB found 0 allocation errors and 1 consistency errors in table 'IZM_TI' (object ID 165575628).
CHECKDB fixed 0 allocation errors and 1 consistency errors in table 'IZM_TI' (object ID 165575628).
...
CHECKDB found 0 allocation errors and 1 consistency errors in database 'Base'.
CHECKDB fixed 0 allocation errors and 1 consistency errors in database 'Base'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

4) ALTER DATABASE Base SET MULTI_USER

Я так понимаю устранены все ошибки, кроме битого индекса в таблице IZM_TI. Что мне необходимо знать для устранения ошибки?
Имя индеска я не знаю, оставляю "". Коэф. заполения индекса я тоже не знаю, значит я указываю 0 (коэф. у индекса остается без изменения). Мой запрос должен выглядеть так?
DBCC DBREINDEX (IZM_TI,"",0)
Есть ли необходимость выполнять команду?
DBCC CHECKDB('Base', REPAIR_ALLOW_DATA_LOSS)
24 сен 11, 13:54    [11331488]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
Glory
Member

Откуда:
Сообщений: 104751
polbatona
Имя индеска я не знаю, оставляю "".

Missing or invalid key in index 'IX_IZM_TI_TIME_INSERT'

polbatona
Что мне необходимо знать для устранения ошибки?

лучше удалить индекс и создать заново
24 сен 11, 15:32    [11331601]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
polbatona
Member

Откуда:
Сообщений: 23
Glory, почитал мануал. Хочу уточнить некоторые моменты. При удалении индекса не удаляются данные? При создании индекса достаточно указать к какой таблице его привязать? Моя БД весит 180Гб, примерное время на операции удаление/создание?
25 сен 11, 11:45    [11332884]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
iljy
Member

Откуда:
Сообщений: 8711
polbatona
Glory, почитал мануал. Хочу уточнить некоторые моменты. При удалении индекса не удаляются данные? При создании индекса достаточно указать к какой таблице его привязать? Моя БД весит 180Гб, примерное время на операции удаление/создание?

1. С какого перепугу? Данные удаляются при удалении таблицы.
2. Нет. Надо еще указать, к каким полям он привязывается, на какой файлгруппе и т.п. Смотрите синтаксис CREATE INDEX. Скрипт можно получить в студии.
3. Удаляется индекс мгновенно, а время создания зависит от размера таблицы, а не базы.
25 сен 11, 13:53    [11333092]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
polbatona
Member

Откуда:
Сообщений: 23
iljy, таблица весит около 100Гб.
26 сен 11, 22:45    [11338624]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
Fire83
Member

Откуда: Гомель-Минск
Сообщений: 474
polbatona
Glory, почитал мануал. Хочу уточнить некоторые моменты. При удалении индекса не удаляются данные? При создании индекса достаточно указать к какой таблице его привязать? Моя БД весит 180Гб, примерное время на операции удаление/создание?

Никто точное время вам тут не скажет, зависит от вашего железа, ширины индекса т.д. т.п.
26 сен 11, 23:39    [11338750]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
polbatona
Member

Откуда:
Сообщений: 23
Хорошо, тогда вопрос по удалению/созданию индекса. Я могу это делать в online режиме или мне необходимо отключить всех клиентов?
27 сен 11, 14:30    [11342018]     Ответить | Цитировать Сообщить модератору
 Re: Репликация, индексы, проблемы(+)  [new]
Glory
Member

Откуда:
Сообщений: 104751
ONLINE = { ON | OFF }
Specifies whether underlying tables and associated indexes are available for queries and data modification during the index operation. The default is OFF.

Note:
Online index operations are available only in SQL Server 2005 Enterprise Edition.
27 сен 11, 14:35    [11342065]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить