Dropping and Rebuilding Large Objects

Podczas upuszczania lub duże indeksów lub upuszczania oraz obcinania dużych tabel SQL Server 2005 Database Engine defers deallocations rzeczywiste strona i ich skojarzone blokady, dopóki po zatwierdzeniu transakcji. Ta implementacja obsługuje jawnej transakcje i autocommit w środowisku sieciowym i stosuje się do dużych tabel i indeksów, korzystające z więcej niż 128 zakresów.

The Database Engine avoids the allocation locks that are required to drop large objects by splitting the process in two separate phases: logicznych i fizycznych.

W fazie logiczne istniejących jednostek alokacji używane przez tabela lub indeksu jest oznaczona do dezalokacji i zablokowana zatwierdza transakcję.Z indeks klastrowany zostanie usunięte wiersze danych zostały skopiowane i następnie przeniesiony do nowej jednostki alokacji, utworzone w magazynie albo odbudowany indeks klastrowany lub sterty.(Z wyjątkiem odbudowywania indeksu wierszy danych są sortowane również.) W przypadku wycofywanie tej logiczne fazy musi zostać przywrócona.

Faza fizycznej występuje po zatwierdzeniu transakcji.Jednostki alokacji, oznaczony do dezalokacji są usuwane fizycznie w plikach wsadowych.Krople te są obsługiwane w krótkim transakcji, które występują w tle, a nie wymagają dużej ilości blokad.

Ponieważ fizycznej faza występuje po zatwierdzeniu transakcji, miejsca w tabela lub indeks wyświetlane jako niedostępny.Jeśli to miejsce jest wymagane do bazy danych, aby powiększyć przed zakończeniem fizycznego etapu, Database Engine podejmuje próbę odzyskania miejsca do dezalokacji jednostek alokacji. Aby znaleźć miejsce aktualnie używane przez te jednostki alokacji, należy użyć sys.allocation_units Służy do wyświetlania katalogu.

Odroczone upuszczania operacji nie zwolnić przydzielone miejsce natychmiast, a ich wprowadzenie dodatkowych kosztów ogólnych w Database Engine. W związku z tym tabel i indeksów, używających 128 lub mniejszej liczby zakresów są opuszczane, obcięta i ponownie zbudowana tak samo, jak w SQL Server 2000. Oznacza to, że zarówno faz logicznych i fizycznych zachodzą przed przekazywania transakcji.

See Also

Concepts

Other Resources