Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Странный глюк с индексами в таблице под ASE-12_5 / 9 сообщений из 9, страница 1 из 1
08.04.2010, 13:06
    #36568243
yastcher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
Была проблема - одна из таблиц стала недоступна для записи. и для удаления последних записанных элементов

1> select max(moment) from bill..trafficAccountDetail
2> go

Jun 2 2009 2:45PM
(1 row affected)

1> delete from trafficAccountDetail where (moment<"Jul 2 2009 2:46PM") AND (moment >"Jul 2 2009 2:44PM")
2> go
Msg 644, Level 21, State 5:
Server 'MVTS2', Line 1:
Index row entry for data row id (166160, 0) is missing from index page 7909335
of index id 0 of table 'trafficAccountDetail' in database 'bill'. Xactid is
(306422,5). Drop and re-create the index.

1> sp_helpindex trafficAccountDetail
2> go
index_name index_description index_keys index_max_rows_per_page index_fillfactor index_reservepagegap index_created
-------------------
trafficAcc_10455757322 clustered, unique located on default ID 0 0 0 Apr 18 2005 216PM
moment nonclustered located on default moment 0 0 0 Apr 18 2005 223PM
IPAdress nonclustered located on default IPAdress 0 0 0 Apr 18 2005 223PM
TrafficAccountID nonclustered located on default TrafficAccountID 0 0 0 Apr 18 2005 223PM

1> sp_helpconstraint trafficAccountDetail
2> go
name definition created
------------------------------
FK_TADetail_TA trafficAccountDetail FOREIGN KEY (TrafficAccountID) REFERENCES TrafficAccount(ID) Apr 18 2005 2:16PM
trafficAcc_10455757322 PRIMARY KEY INDEX ( ID) : CLUSTERED Apr 18 2005 2:16PM

(2 rows affected)

Total Number of Referential Constraints: 1

Details:
-- Number of references made by this table: 1
-- Number of references to this table: 0
-- Number of self references to this table: 0

Formula for Calculation:
Total Number of Referential Constraints
= Number of references made by this table
+ Number of references made to this table
- Number of self references within this table


1> drop index trafficAccountDetail.trafficAcc_10455757322
2> go
Msg 3710, Level 16, State 2:
Server 'MVTS2', Line 1:
Cannot use DROP with 'trafficAccountDetail.trafficAcc_10455757322' because
'trafficAcc_10455757322' is a constraint. Use ALTER TABLE.

1> alter table trafficAccountDetail drop constraint trafficAcc_10455757322
2> go

После этой команды данные полились в таблицу.

Честно говоря, так до конца и не понял, почему глюк исправился и из-за чего же изначально он появился :))

Может кто сможет подсказать?
...
Рейтинг: 0 / 0
08.04.2010, 13:43
    #36568368
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
yastcher wrote:

> Может кто сможет подсказать?

Физически был повреждён индекс.
Ты его дропнул, теперь он не мешает.
(хорошо бы его создать обратно, он уже будет хороший).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.04.2010, 15:24
    #36568684
yastcher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
MasterZiv
yastcher wrote:

> Может кто сможет подсказать?

Физически был повреждён индекс.
Ты его дропнул, теперь он не мешает.
(хорошо бы его создать обратно, он уже будет хороший).


Вроде ж у меня не получилось его дропнуть?

1> drop index trafficAccountDetail.trafficAcc_10455757322
2> go
Msg 3710, Level 16, State 2:
Server 'MVTS2', Line 1:
Cannot use DROP with 'trafficAccountDetail.trafficAcc_10455757322' because
'trafficAcc_10455757322' is a constraint. Use ALTER TABLE.

я лишь свойство constraint для индекса trafficAcc_10455757322 убрал. по крайней мере как я понял...

1> alter table trafficAccountDetail drop constraint trafficAcc_10455757322
2> go
...
Рейтинг: 0 / 0
08.04.2010, 15:40
    #36568749
yastcher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
alter table
Описание Добавляет новые столбцы к таблице; удаляет или изменяет сущест-
вующие столбцы; добавляет, изменяет или удаляет ограничения;
изменяет свойства существующей таблицы; включает или отключает
триггеры для таблицы

constraint
Используется для добавления ограничения целостности. Параметр constraint нельзя указывать для удаленных серверов, если включены службы Component Integration Services.
...
Рейтинг: 0 / 0
09.04.2010, 10:44
    #36570075
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
у тебя был констрейнт, либо UNIQUE, либо PRIMAERY KEY, реализацией которого является индекс. Индекс такой просто удалить нельзя, нужно удалять констрейнт. Первый раз тебе дропнуть индекс не дали, второй -- ты удалил констрейнт ВМЕСТЕ с индексом.

теперь же нужно констрейнт обязательно восстановить, потому что его отсутствие скажется не только на производительности, но и на целостности данных.
...
Рейтинг: 0 / 0
09.04.2010, 11:24
    #36570181
yastcher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
MasterZivу тебя был констрейнт, либо UNIQUE, либо PRIMAERY KEY, реализацией которого является индекс. Индекс такой просто удалить нельзя, нужно удалять констрейнт. Первый раз тебе дропнуть индекс не дали, второй -- ты удалил констрейнт ВМЕСТЕ с индексом.

теперь же нужно констрейнт обязательно восстановить, потому что его отсутствие скажется не только на производительности, но и на целостности данных.

Спасибо за разъяснения!!!

Странно, почему ни одна из разновидностей dbcc не помогла... :)
...
Рейтинг: 0 / 0
09.04.2010, 12:39
    #36570398
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
yastcher
Странно, почему ни одна из разновидностей dbcc не помогла... :)
а какие пробовали?
...
Рейтинг: 0 / 0
09.04.2010, 13:58
    #36570682
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
yastcher wrote:
> Странно, почему ни одна из разновидностей dbcc не помогла... :)
Бывает.

На самом деле если полетел только индекс, легче его полностью
перестроить, и забыть о нём, чем его DBCC-ить.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.04.2010, 12:46
    #36573842
yastcher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странный глюк с индексами в таблице под ASE-12_5
пробовал
dbcc checkalloc
dbcc checkdb
dbcc tablealloc
dbcc checktable
и может еще ...


На самом деле если полетел только индекс, легче его полностью перестроить, и забыть о нём, чем его DBCC-ить.


alter table trafficAccountDetail add constraint trafficAcc_10455757322 unique clustered (ID)

на выходных запущу. чувствую процедура долгой будет...
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Странный глюк с индексами в таблице под ASE-12_5 / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]