ПредишенСледващото

Деактивирането на индекса позволява на потребителя достъп до индекса в случай на скупчени индекси в данните за основните маса. Определението на индекса остава в метаданни и статистика в индекса, се съхраняват в които не са струпани индексите. Деактивиране на не-клъстерирани индекс или клъстерирани индекс в представителството на физически изтрива данните на индекса. Деактивирането Групирана индекс на масата, не позволява достъпа до данните; данни остава в таблицата, но те не са на разположение за операции DML до момента, докато не е налице отстраняване или индекса наново. За да се възстанови и да се даде възможност на индекс инвалиди, използвайте инструкциите ALTER INDEX възстанови или инструкция CREATE INDEX С DROP_EXISTING.

Един или повече индекси могат да бъдат изключени в следните ситуации:

Компонент SQL Server Database Engine изключва автоматично на индекса през приложения на SQL Server актуализация.

Индексът деактивирано ръчно с помощта на отчета за ALTER INDEX.

По време на ъпгрейд до нова версия, или по време на актуализиране използване пакета за актуализация на SQL Server, за Database Engine автоматично идентифицира и забранява на индекса, включително индексът на производителността, ако определението на индекс или вижте съдържа едно от следните неща:

Изразът, за които компонентът Database Engine не може да се гарантира целостта на данните за индекса.

Например, да предположим, че се използва индекса и функциите на системата по време на функцията за актуализация е променен, така че сега се връща различен резултат. Машината на базата данни ще попречи на индекса време на процеса на актуализация, тъй като индексът може да съдържа данни, които няма да бъдат истински след ъпгрейд.

сортиране опции, които варират по време на актуализацията, така че индексът не се сортира правилно.

Ако по време на индекс актуализация е забранено, се показва съобщение, което съдържа името на индекс и имената на всички, свързани с ограничения, така че можете да ги подредите в края на актуализацията. Възстановяването на индекса и включването на всички ограничения, редактиране на данни, които вече не са валидни в процеса на актуализиране.

Ограничаване CHECK може да се деактивира, ако той съдържа израз определение, че компонент Database Engine вече не може да се гарантира целостта на данните. Активиране на ограничение, можете да използвате ALTER TABLE изявление CHECK.

Използвайте отчета за ALTER INDEX деактивирате по всяко време, за да включите ръчно изключване на индекса.

Изключването ръчно индекс може да бъде полезно в следните случаи:

Корекция IO операция диск грешка (грешка 823 или 824) на страницата с индекс и след това възстановяване на индекса.

Временното отстраняване на индекса за отстраняване на неизправности.

Възстановяването не са струпани индекси.

Ако не-клъстерирани индексът е активирана, възстановяване на операцията изисква временно дисково пространство е достатъчно за съхранение на стари и нови индекса. Когато изключвате и не-клъстерирани индекс възстанови отделно дисково пространство, при сделка освободена, когато го изключвате индекси може да се използва за последващо възстановяване или по някаква друга работа. Има нужда от допълнително дисково пространство, с изключение на временно място на диска за сортиране; обикновено 20% от размера на индекс.

Ако дисково пространство е ограничено, може да е полезно да се деактивира не-клъстерирани индекс за възстановяване. Например, там е съхранена процедура, която възстановява всички, които не са струпани индекси на една или повече таблици. Деактивирането на тези показатели в една сделка, с изключение на операцията по възстановяване, преди времето за възстановяване значително намалява дисково пространство, необходимо за възстановяване.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!