Я использую SQL Server 2008
Я знаю, что индекс в представлении будет удален без ущерба и предупреждения, если вы измените определение представления. Мне интересно, есть ли другие известные аналогичные автоматические изменения индексов, и если да, то где я могу прочитать о них?
Моя ситуация:
- У меня был уникальный некластеризованный отфильтрованный индекс для таблицы.
- Столбцы ключа индекса совпадают с первичным ключом таблицы.
- Включен только один другой столбец.
- Сегодня я, когда дела шли медленно, понял, что фильтра сейчас нет.
- Один из типов столбцов первичного ключа был недавно изменен на другой тип. Поэтому я предполагаю, что это могло произойти, когда произошло удаление фильтра, но я не могу найти подтверждение этому нигде.
- Если это поможет, я не смог бы просто добавить фильтр обратно, потому что при попытке воссоздать «Новое определение индекса не соответствует ограничению, наложенному существующим индексом».
- Также я не могу просто отбросить индекс, чтобы воссоздать его, потому что , по-видимому, SQL Server решил использовать индекс для применения ограничений внешнего ключа вместо кластерного индекса PK. Мне придется удалить ограничения внешнего ключа, прежде чем я это сделаю.
Все наши разработчики сказали, что они не связались с индексом. Один из нас может быть забывчивым. Или врать. Или кто-то, возможно, что-то изменил и не очень внимательно прочитал предупреждающие сообщения. Я не знаю, может ли это быть чем-то автоматическим, поэтому я надеюсь, что вы, ребята, можете сообщить мне.
Спасибо!