|
Удалить индекс с indid 250 для таблицы без LOB
|
|||
---|---|---|---|
#18+
Sybase ASE 15.7sp110 есть база с warmstandby табличка с текстовым полем. похоже для варм-репликации был построен индекс с именем типа repl_368717335_250 таблица 200метров, текстовое поле (комментарий к сущности) перевалило за 3,5гб. подумали-подсчитали, что хватит varchar(500) вместо текстового поля, и альтернули таблицу, изменили text -> varchar(500). в результате индекс остался существовать, 00:0010:00000:00209:2014/10/30 14:23:09.04 server Error: 644, Severity: 21, State: 5 00:0010:00000:00209:2014/10/30 14:23:09.04 server Index row entry for data row id (1390172, 20) is missing from index page 1563098 of index id 250 of table 'tablename' in database 'dbname'. Xactid is (272489,70). Drop and re-create the index. из-за его особого статуса просто drop index его нельзя You cannot manually drop an index for replication. Either turn off replication on the column, or run DBCC REINDEX. но согласно sp_setrepcol и sp_setreptable - она и так не реплицируется The replication status for 'tablename' is currently false, owner_off, primary key = 'PK_TABLENAME'. The table 'tablename' is not marked as replicated. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 16:24 |
|
Удалить индекс с indid 250 для таблицы без LOB
|
|||
---|---|---|---|
#18+
ЫzzSybase ASE 15.7sp110 есть база с warmstandby табличка с текстовым полем. похоже для варм-репликации был построен индекс с именем типа repl_368717335_250 Для репликации индексы не нужны. Их для репликации не строят. Ыzzтаблица 200метров, текстовое поле (комментарий к сущности) перевалило за 3,5гб. подумали-подсчитали, что хватит varchar(500) вместо текстового поля, и альтернули таблицу, изменили text -> varchar(500). в результате индекс остался существовать, 00:0010:00000:00209:2014/10/30 14:23:09.04 server Error: 644, Severity: 21, State: 5 00:0010:00000:00209:2014/10/30 14:23:09.04 server Index row entry for data row id (1390172, 20) is missing from index page 1563098 of index id 250 of table 'tablename' in database 'dbname'. Xactid is (272489,70). Drop and re-create the index. из-за его особого статуса просто drop index его нельзя You cannot manually drop an index for replication. Either turn off replication on the column, or run DBCC REINDEX. но согласно sp_setrepcol и sp_setreptable - она и так не реплицируется The replication status for 'tablename' is currently false, owner_off, primary key = 'PK_TABLENAME'. The table 'tablename' is not marked as replicated. Так DBCC REINDEX не пробовал ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2014, 19:04 |
|
Удалить индекс с indid 250 для таблицы без LOB
|
|||
---|---|---|---|
#18+
MasterZivТак DBCC REINDEX не пробовал ? попробовал. он его перестраивает но не удаляет. Server Message: Number 3640, Severity 10 Server 'SRV_WARM', Line 1: One or more indexes are corrupt. They will be rebuilt. Server 'SRV_WARM', Line 1: Non-clustered index (index id = 250) is being rebuilt. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 17:16 |
|
Удалить индекс с indid 250 для таблицы без LOB
|
|||
---|---|---|---|
#18+
ЫzzSybase ASE 15.7sp110 ........ подумали-подсчитали, что хватит varchar(500) вместо текстового поля, и альтернули таблицу, изменили text -> varchar(500). Зря изменили. Я на вашем месте посмотрел бы в сторону InRow для LOB, Как раз ваш случай - если размер поля будет меньше указанных 500 - данные уйдут "InRow" - если больше- будет аллоцирована отдельная страница. Ыzzтекстовое поле (комментарий к сущности) перевалило за 3,5гб. В моем случае реально текстовый индекс (и таблица соотв). сжимались в разы, т.к. изначально спроектирован был тип text и даже под минимальное значение - выделялась 1 страница. 90% значений укладывались в отведенную для InRow размерность. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2014, 12:04 |
|
Удалить индекс с indid 250 для таблицы без LOB
|
|||
---|---|---|---|
#18+
P.S.: при этом рост сегмента данных не был сколь-нибудь критичным - обусловлено довольно большим размером строки: 1 строка >> 0,5 страницы ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2014, 12:07 |
|
Удалить индекс с indid 250 для таблицы без LOB
|
|||
---|---|---|---|
#18+
Ыzz, индекс построили для увеличения скорости репликации,насколько я понимаю. Его использование "включается" процедурой sp_setreptable . Example 7 Removes the replication status of table t1, and drops the replication indexes if t1 was initially marked for replication to use indexes: sp_setreptable t1, 'false' ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 11:23 |
|
Удалить индекс с indid 250 для таблицы без LOB
|
|||
---|---|---|---|
#18+
SQLMantis, там warmstanby, оно не управляется sp_setreptable The replication status for 't1' is already set to false. Replication status for 't1' does not change. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 14:05 |
|
|
start [/forum/topic.php?fid=55&msg=38821174&tid=2009798]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 250ms |
0 / 0 |