Wyłączanie indeksów

Wyłączenie indeksu uniemożliwia dostęp użytkownika do indeksu i indeksów klastrowanych do tabela źródłowa danych.Pozostaje definicji indeksu metadane i indeks statystyki są przechowywane na zbudowania indeksów nie klastrowanych.Wyłączanie indeks nieklastrowany lub indeks klastrowany w widoku fizycznie usuwa dane indeksu.Wyłączanie indeks klastrowany w tabela uniemożliwia dostęp do danych; dane nadal pozostaje w tabela, ale jest niedostępna dla operacje DML, dopóki indeks zostanie porzucone lub odbudowany.Aby odbudować i włączyć wyłączony indeks, należy użyć instrukcja ALTER ODBUDOWAĆ indeks lub instrukcja utworzyć indeks Z DROP_EXISTING.

Jednego lub kilku indeksów może być wyłączona w następujących okolicznościach:

  • Aparat baz danych programu SQL Server Automatycznie wyłącza indeksu podczas uaktualniania SQL Server.

  • Indeks jest ręcznie wyłączyć za pomocą INDEKSU ALTER.

Indeks wyłącza uaktualniania programu SQL Server

Podczas uaktualniania do nowej wersji lub dodatku usługa pack dla SQL Server, Aparat baz danych automatycznie identyfikuje i wyłącza indeksu, włączając indeksy w widokach, gdy definicja indeksu lub widok zawiera jedną z następujących:

  • Wyrażenie, dla którego Aparat baz danych nie może zagwarantować integralność danych z indeksu.

    Załóżmy, że indeks używa funkcja systemu i zmianie w uaktualnienia w taki sposób, że teraz zwraca wynik różnych funkcja. Aparat baz danych Spowoduje wyłączenie indeksu podczas uaktualniania, ponieważ może on zawierać danych, który jest nieprawidłowy, po uaktualnieniu.

  • Sortowanie, że zmienił jako części procesu uaktualniania w taki sposób, że indeks nie jest już poprawnie sortowane

Gdy indeks jest wyłączona podczas uaktualniania, komunikat ostrzegawczy Wyświetla nazwę indeksu i wszelkie skojarzone ograniczenia nazw, tak, aby można je odbudować, po zakończeniu uaktualniania.Przebudowywanie indeksu i włączenie ograniczenia poprawi dane unieważnionych podczas uaktualniania systemu.

Ograniczenie typu CHECK, mogą być wyłączone, jeśli definicja zawiera wyrażenie, dla którego Aparat baz danych nie może zagwarantować integralność danych.Aby włączyć ograniczenia, należy użyć instrukcja ALTER Sprawdź tabeli.

Przy użyciu INDEKSU ALTER wyłączyć indeksu

Można ręcznie wyłączyć indeks w dowolnym czas przy użyciu instrukcja ALTER wyłączyć INDEKSU.

Ostrzeżenie

Jeśli tabela znajduje się w replikacja transakcyjna publikacja, nie można wyłączyć żadnych indeksów, które są skojarzone z kolumny klucz podstawowego.Indeksy te są wymagane przez replikacja.Aby wyłączyć indeksu, należy najpierw usunąć tabela z publikacja.Aby uzyskać więcej informacji, zobacz Publikowanie danych i obiektów bazy danych.

Można wyłączyć indeks należy wykonać następujące czynności:

  • Poprawianie dysku błąd We/Wy (błąd 823 lub 824) strona indeksu i później odbudowanie indeksu.

  • Tymczasowe usunięcie indeksu dla celów rozwiązywania problemów.

  • Odbudowywanie zbudowania indeksów nie klastrowanych.

    Gdy indeks nieklastrowany nie jest wyłączona, operacja Odbuduj wymaga tymczasowego miejsca na dysku do przechowywania zarówno starego i nowego indeksu.Jednakże wyłączając i odbudowy indeks nieklastrowany w oddzielnej transakcji, miejsca na dysku przez wyłączenie indeksu mogą być ponownie użyte przez kolejne rekonstrukcji lub innych operacji.Nie dodatkowe miejsce jest wymagane z wyjątkiem tymczasowego miejsca na dysku do sortowania; jest to zazwyczaj 20 procent rozmiaru indeksu.

    W przypadku ograniczonej ilości miejsca na dysku mogą być pomocne dla przed odbudowywania go wyłączyć indeks nieklastrowany.Na przykład mieć procedura składowana, która odtwarza wszystkie zbudowania indeksów w jednej lub kilku tabel.Wyłączając te indeksy najpierw w oddzielnej transakcji z operacji rekonstrukcji, mogą znacznie zmniejszyć ilość tymczasowego miejsca na dysku wymaganego odbudować je.

Aby wyłączyć indeksu

Zmiana INDEKSU (Transact-SQL)

Jak Odbudować indeks (SQL Server Management Studio)