![]() |
|
Можно ли перестроить индекс для одной таблицы? | ☑ | ||
---|---|---|---|---|
0
Strogg
24.09.13
✎
08:44
|
Всем привет. Случилась неприятная ситуация, при проведении одного документа стало вываливаться сообщение: "Попытка вставки неуникального значения в уникальный индекс". Нашел по поиску, что надо грохнуть индекс в таблице и стандартным ТИИ провести реиндексацию и реструктуризацию. Но вся заковыка в том, что база большая и поэтому реструктуризация проходит примерно пол-дня. А я не могу остановить производство на такое время. Есть ли способ реструктуризовать только одну, требуемую таблицу так, чтоб поправить индекс?
--- Кстати, изменил нумерацию документа с поломанным индексом, база провела реструктуризацию документа. После этого, стали проводиться документы, в которых есть ссылка на документ с поломанным индексом. Но поиск по строке так и отсутствует :(. И при выборе значения не позиционирует на выбранном документе. |
|||
1
Defender aka LINN
24.09.13
✎
08:47
|
(0) Если уж ты его грохнул средствами СУБД, то почему бы ими же и не пересчитать?
|
|||
2
Strogg
24.09.13
✎
08:51
|
(1) да, сиквелом грохнул. Как пересчитать не знаю, вот и спросил. Что-то типа create unique index, штоле? :)
|
|||
3
shuhard
24.09.13
✎
08:51
|
(2) скорее dbcc
|
|||
4
Defender aka LINN
24.09.13
✎
08:54
|
(2) Кэп со словарем английского подсказывает, что create - это создание индекса. Хотя... А КАК ты его зачищал?
|
|||
5
Strogg
24.09.13
✎
08:58
|
(4) инфу брал вот отсюда: v8: [Решение] Попытка вставки неуникального значения в уникальный индекс
(3) щас погуглю) |
|||
6
shuhard
24.09.13
✎
09:00
|
(5) тут нужно не гуглить, а мздеенить
http://technet.microsoft.com/ru-ru/library/ms181671.aspx |
|||
7
andreymongol82
24.09.13
✎
09:11
|
(5) dbcc - это как бы команда для запуска встроеной функции, что-то вроде "фас". Например, dbcc checkdb (там есть, что-то и про реиндексацию, если индекс просто почистил, а не убил совсем)
|
|||
8
Strogg
24.09.13
✎
09:12
|
(6), (7), спасибо, камрады. Нашел DBCC CHECKTABLE. Щас буду копию ломать :).
|
|||
9
Strogg
24.09.13
✎
09:30
|
Вот чектейбл вроде оно, но как быть, если я уже физически грохнул индекс? :(
|
|||
10
Sorm
24.09.13
✎
09:38
|
(8) Индекс, как средство обеспечения уникальности данных в таблице, ты грохнул. Отлично. Теперь неплохо было бы его создать заново.
|
|||
11
Strogg
24.09.13
✎
09:38
|
(9)+ туплю. Я в копии грохнул индекс. Щас заресторю ночной бэкап)
|
|||
12
Maxus43
24.09.13
✎
09:40
|
в копии если на работающей таблице скажешь задачи - Drop and Create - тебе даже T-SQL покажет, и по созданию таблицы и по созданию индексов для неё
|
|||
13
Strogg
24.09.13
✎
16:29
|
В общем, ничего не помогло. Временно, изменил нумерацию, чтоб проведение работало, но при двойном щелчке он все равно не позиционирует на выбранном номере... думаю дальше.
|
|||
14
shuhard
24.09.13
✎
16:32
|
(13)[ничего не помогло. ]
поржал ну заскриптуй ты в копии базы создание индекса и выполни в продуктиве, работы на 1 минуту |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |