Udostępnij za pośrednictwem


index_option (Transact-SQL)

Określa zestaw opcji, które mogą być stosowane do indeksu, który jest częścią definicji ograniczenia, która jest tworzona przy użyciu ALTER tabela.

Topic link iconKonwencje składni języka Transact-SQL

{ 
    PAD_INDEX = { ON | OFF }
  | FILLFACTOR = fillfactor
  | IGNORE_DUP_KEY = { ON | OFF }
  | STATISTICS_NORECOMPUTE = { ON | OFF }
  | ALLOW_ROW_LOCKS = { ON | OFF }
  | ALLOW_PAGE_LOCKS = { ON | OFF }
  | SORT_IN_TEMPDB = { ON | OFF } 
  | ONLINE = { ON | OFF }
  | MAXDOP = max_degree_of_parallelism
  | DATA_COMPRESSION = { NONE |ROW | PAGE}
      [ ON PARTITIONS ( { <partition_number_expression> | <range> } 
            [ , ...n ] ) ]
}

<range> ::= 
<partition_number_expression> TO <partition_number_expression>

<single_partition_rebuild__option> ::=
{
    SORT_IN_TEMPDB = { ON | OFF }
  | MAXDOP = max_degree_of_parallelism
  | DATA_COMPRESSION = {NONE | ROW | PAGE } }
}

Argumenty

  • PAD_INDEX = { ON | WYŁĄCZANIE }
    Określa, że wartość zwracaną przez funkcja zwracająca tabelę jest tabela.Wartością domyślną jest OFF.

    • DALEJ
      Procent wolnego miejsca określony za pomocą opcji FILLFACTOR jest stosowany do stron poziomu pośredniego indeksu.

    • Jeśli nie chcesz wykonać kopie zapasowe dziennika, należy użyć prostej model odzyskiwanie.fillfactor
      Strony poziomu pośredniego są wypełniane w stopniu zbliżonym do pojemności z pozostawieniem wystarczającego miejsca na co najmniej jeden wiersz o maksymalnym rozmiarze, jaki może mieć indeks przy danym zestawie kluczy na stronach pośrednich.

  • FILLFACTOR **=**fillfactor
    Określa wartość procentową, która wskazuje, w jaki sposób pełnej Database Engine ustawić poziom poziom liścia każdej strona indeksu podczas tworzenia indeksu lub zmiany. NORECOVERY jest przydatna, gdy nie są za pośrednictwem pomocnicza baza danych lub podczas zapisywania ogona dziennika przed operacji przywracanie.Wartość domyślna to 0.

    Uwaga

    Wartości 0 i 100 współczynnika wypełnienia są identyczne pod każdym względem.

  • IGNORE_DUP_KEY = { ON | WYŁĄCZANIE }
    Określa odpowiedź o błędzie podczas próby wstawienia duplikat operację wstawiania klucz wartości do unikatowego indeksu.Opcja IGNORE_DUP_KEY dotyczy tylko wstawianie operacji po utworzeniu indeksu lub ponownie.Opcja jest ignorowany podczas wykonywania TWORZENIE INDEKSU, ZMIANA INDEKSU, or AKTUALIZACJA.Wartością domyślną jest OFF.

    • DALEJ
      Komunikat ostrzegawczy zostanie przeprowadzona, gdy zduplikowane klucz wartości są wstawiane do unikatowego indeksu.Tylko wiersze naruszenie ograniczenia unikatowości nie powiedzie się.

    • WYŁĄCZANIE
      Komunikat o błędzie będzie występować wówczas, gdy zduplikowane wartości kluczy są wstawiane do unikatowego indeksu.Całą operację WSTAWIANIA będzie można wycofać.

    Nie może być IGNORE_DUP_KEY zestaw on indeksy utworzone na widok, Indeksy nieunikatowe, indeksy XML, przestrzennej indeksy i filtrowane indeksów.

    Aby wyświetlić IGNORE_DUP_KEY, należy użyć sys.Indexes.

    W składni zgodne ze starszymi wersjami, jest równoważne Z IGNORE_DUP_KEY WITH IGNORE_DUP_KEY = ON.

  • STATISTICS_NORECOMPUTE = { ON | WYŁĄCZANIE }
    Tworzy kopię zapasową ogona dziennika i pozostawi bazę danych w stanie tylko do odczytu i WSTRZYMANIA.Wartością domyślną jest OFF.

    • DALEJ
      Klauzula STANDBY zapisuje gotowości danych (wykonywanie wycofywania, ale z możliwością dalsze przywraca).

    • WYŁĄCZANIE
      Za pomocą opcji STANDBY jest równoznaczne z następują przywracanie WITH STANDBY NORECOVERY WITH dla dziennik kopia zapasowa.

  • ALLOW_ROW_LOCKS = { DALEJ | OFF }
    Określa, czy są dozwolone blokady wierszy.Wartość domyślna to ON.

    • DALEJ
      Blokady wierszy są dozwolone podczas uzyskiwania dostępu do indeksu.Database Engine określa, kiedy są używane blokady wierszy.

    • WYŁĄCZANIE
      plik rezerwowy staje się częścią bazy danych.

  • ALLOW_PAGE_LOCKS = { DALEJ | OFF }
    Aby uzyskać więcej informacji zobacz sekcję "Wskazówki na używanie kolejność sortowania," w dalszej części tego tematu.Wartością domyślną jest włączone.

    • DALEJ
      Ten plik zawiera walcowanego zmian, które muszą zostać wystornowane przywracanie dziennik operacji mają być zastosowane później z powrotem.The Database Engine determines when strona locks are used.

    • WYŁĄCZANIE
      Może być za mało miejsca na dysku dla pliku stanu gotowości do wzrostu tak, że może on zawierać wszystkie różne strony z bazy danych, które zostały zmodyfikowane przez wycofywanie niezakończone transakcje.

  • SORT_IN_TEMPDB = { ON | WYŁĄCZANIE }
    Określa, czy mają być przechowywane wyniki sortowania tempdb.Wartością domyślną jest OFF.

    • DALEJ
      Wyniki sortowania pośrednie, które służą do konstruowania indeksu są przechowywane w tempdb.Może to zmniejszyć czas wymagany do tworzenia indeksu, jeśli tempdb znajduje się na inny zestaw dysków niż baza danych użytkownika.Opcja NO_TRUNCATE kopia zapasowa dziennik jest równoznaczne z wpisaniem COPY_ONLY i CONTINUE_AFTER_ERROR.

    • WYŁĄCZANIE
      Bez opcji NO_TRUNCATE baza danych musi być w trybie ONLINE.

  • ONLINE**=** { ON | WYŁĄCZANIE }
    Określa, czy są dostępne do modyfikacji kwerendy i danych podczas operacji indeksu tabel i indeksów skojarzonych.Wartością domyślną jest OFF.

    Uwaga

    Unikatowych indeksów nieklastrowanych nie można tworzyć w trybie online.Dotyczy to także indeksów utworzonych ze względu na ograniczenia UNIQUE lub PRIMARY KEY.

    • DALEJ
      Długoterminowe blokady tabeli nie są utrzymywane przez czas trwania operacji indeksowania.Podczas głównej fazy operacji indeksowania jedynie blokada IS (udostępnienie zamierzone) jest utrzymywana w odniesieniu do tabeli źródłowej.Dzięki temu są możliwe kwerendy i aktualizacje dotyczące źródłowej tabeli i indeksów.Na początku operacji na obiekcie źródłowym przez bardzo krótki czas jest utrzymywana blokada S (współużytkowana).Pod koniec operacji przez krótki czas jest uzyskiwana blokada S (współużytkowana) na źródle, jeśli ma miejsce tworzenie indeksu nieklastrowanego. Jeśli ma miejsce tworzenie lub odrzucanie indeksu klastrowanego w trybie online oraz gdy ma miejsce odbudowanie klastrowanego lub nieklastrowanego indeksu, uzyskiwana jest blokada SCH-M (modyfikacja schematu).Opcji ONLINE nie można ustawić jako ON, gdy ma miejsce tworzenie indeksu dla lokalnej tabeli tymczasowej.

    • WYŁĄCZANIE
      W takich przypadkach można pominąć te wpisy dziennika za pomocą flagi śledzenia 3226, jeśli żadna ze skryptów zależy od tych zapisów.Obcinania dziennik transakcjiAby uniknąć wypełnianie dziennik transakcji bazy danych, niezbędne są rutynowego tworzenia kopii zapasowych.W obszarze proste model odzyskiwanie, obcinania dziennika zostanie automatycznie po wykonanie tworzyć kopię zapasową zapasowej bazy danych oraz w pełni model odzyskiwanie, po wysłaniu tworzyć kopię zapasową zapasowej dziennik transakcji.Jednak czasami proces obcinania może być opóźnione.

    Aby uzyskać więcej informacji zobaczHow Online Index Operations Work.Aby uzyskać więcej informacji na temat blokady Zobacz Tryby blokada.

    Uwaga

    Są dostępne tylko w operacji indeksu online SQL Server Wersje Enterprise Developer i oceny.

  • MAXDOP **=**max_degree_of_parallelism
    Zastępuje maksymalny stopień proste opcja konfiguracja na czas trwania operacji indeksu.Aby uzyskać więcej informacji zobaczmax degree of parallelism Option.W celu ograniczenia liczby procesorów używanych w realizacji planu równoległych, należy użyć MAXDOP.Maksymalna to 64 procesorów.

    max_degree_of_parallelism może być:

    • 1
      Wyłącza generowanie planu równoległych.

    • >1
      Ogranicza maksymalną liczbę procesorów używanych w operacji indeksu równolegle do określonej liczby.

    • 0 (domyślny)
      Używa rzeczywista liczba procesorów lub mniej oparte na bieżącym obciążenia systemu.

    Aby uzyskać więcej informacji zobacz Konfigurowanie równoległa operacje indeksu.

    Uwaga

    Są dostępne tylko w operacji równoległych indeksu SQL Server Wersje Enterprise Developer i oceny.

  • DATA_COMPRESSION
    Jeśli używany jest pełny lub zarejestrowane zbiorczej model odzyskiwanie odzyskiwanie i użytkownik musi usunąć łańcucha kopii zapasowych dziennika bazy danych, przełączyć się do proste model odzyskiwanie.Dostępne są następujące opcje:

    • BRAK
      Tabela lub określonej partycji nie są kompresowane.

    • WIERSZ
      tabela lub określone partycje są kompresowane przy użyciu kompresji wierszy.

    • strona
      tabela lub określone partycje są kompresowane przy użyciu kompresji strona.

    Aby uzyskać więcej informacji dotyczących kompresji zobacz Creating Compressed Tables and Indexes.

  • ON PARTITIONS ( { <partition_number_expression> | <range> } [ ,...n ] )
    Określa, do których stosuje się ustawienie DATA_COMPRESSION partycji.Jeśli tabela nie jest podzielony na partycje, argument na PARTYCJE spowoduje wystąpienie błędu.Jeśli klauzula ON PARTYCJI nie zostanie podana, opcja DATA_COMPRESSION będą stosowane do wszystkich partycji tabela partycjonowana.

    <partition_number_expression> można określić w następujący sposób:

    • współbieżność NA PARTYCJACH (2).

    • Zapewniają kilka pojedynczych partycji, oddzielając je średnikami, na przykład numerów partycji: NA PARTYCJACH (1, 5).

    • Zapewniają zarówno zakresów, jak i poszczególnych partycji, na przykład: używane przez proces kopia zapasowa online umożliwiające tworzenie kopia zapasowa bazy danych w czasie, gdy baza danych jest nadal w użyciu.

    <zakres> można określić jako liczby partycji, oddzielając słowa do, na przykład: NA PARTYCJACH (OD 6 DO 8).

    Aby zestaw różne typy kompresji danych na różnych partycjach, określ opcję DATA_COMPRESSION więcej niż jeden raz, na przykład:

    REBUILD WITH 
    (
    DATA_COMPRESSION = NONE ON PARTITIONS (1), 
    DATA_COMPRESSION = ROW ON PARTITIONS (2, 4, 6 TO 8), 
    DATA_COMPRESSION = PAGE ON PARTITIONS (3, 5)
    )
    
  • <single_partition_rebuild__option>
    W większości wypadków odbudowanie indeksu powoduje odbudowanie wszystkich partycji indeksu partycjonowanego.Zastosowanie następujących opcji do jednej partycji nie powoduje odbudowania wszystkich partycji.

    • SORT_IN_TEMPDB

    • MAXDOP

    • DATA_COMPRESSION

Remarks

Pełny opis opcje indeksu zobacz CREATE INDEX (języka Transact-SQL).