Udostępnij za pośrednictwem


DBCC CLEANTABLE (języka Transact-SQL)

Reclaims miejsca z porzuconych o zmiennej długości kolumn tabel lub widoków indeksowanych.

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

DBCC CLEANTABLE
(
    { database_name | database_id | 0 }
        , { table_name | table_id | view_name | view_id }
    [ , batch_size ]
)
[ WITH NO_INFOMSGS ]

Argumenty

  • database_name| database_id | 0
    Jest bazą danych, do której należy tabela czyszczenia.Jeśli określono wartość 0, używana jest bieżąca baza danych.Nazwy bazy danych muszą być zgodne z zasadami identyfikatory.

  • table_name| table_id | view_name| view_id
    Jest to tabela lub widok indeksowany czyszczenia.

  • batch_size
    To liczba wierszy przetwarzane na transakcję.Jeśli nie zostanie określony, lub jeżeli określono wartość 0, instrukcję przetwarzania całej tabela w jedną transakcję.

  • Z NO_INFOMSGS
    Pomija wszystkie komunikaty informacyjne.

Remarks

DBCC CLEANTABLE reclaims miejsce po upuszczeniu kolumna o zmiennej długości.Kolumna o zmiennej długości może mieć jedną z następujących typów danych: varchar, nvarchar, varchar(max), nvarchar(max), varbinary, varbinary(max), text, ntext, image, sql_variant, a xml. Polecenie nie odzyskania miejsca po upuszczeniu kolumna o stałej długości.

Jeśli kolumny porzuconych były przechowywane w wierszu, CLEANTABLE DBCC reclaims miejsca z IN_ROW_DATA jednostka alokacji w tabela.Gdyby przechowywanych poza wiersza, kolumna miejsca odzyskać obszaru rejestrowania ROW_OVERFLOW_DATA lub jednostka alokacji LOB_DATA w zależności od typu danych kolumna elementów usuniętych.Jeśli odzyskiwanie miejsca na podstawie ROW_OVERFLOW_DATA lub LOB_DATA wyniki strona na pustej stronie, CLEANTABLE DBCC usuwa strona.Aby uzyskać więcej informacji na temat jednostek alokacji i typy danych zobacz Tabele i architektura strukturami danych indeksu.

DBCC CLEANTABLE działa jako co najmniej jednej transakcji.Jeśli partia rozmiar nie zostanie określony, polecenie przetwarza całej tabeli w jedną transakcję i tabela jest zablokowana wyłącznie podczas operacji.W niektórych dużych tabel długości jednej transakcji i wymaganego miejsca w dzienniku mogą być zbyt dużej ilości.Jeżeli określono wartość rozmiaru wsadu, to polecenie działa jako seria specyfikacji transakcji, każdy, łącznie z określoną liczbę wierszy.Nie można uruchomić CLEANTABLE DBCC jako transakcja wewnątrz innej transakcji.

Ta operacja jest całkowicie rejestrowane.

DBCC CLEANTABLE nie jest obsługiwana do użytku w tabelach systemowych lub tabel tymczasowych.

Najważniejsze wskazówki

DBCC CLEANTABLE nie powinny być zrealizowane jako zadania rutynowej konserwacji.Zamiast tego należy użyć CLEANTABLE DBCC po wprowadzeniem znaczących zmian do kolumn o zmiennej długości w tabela lub widok indeksowany, jeśli jest konieczne natychmiast odzyskać niewykorzystany obszar.Alternatywnie można ponownie utworzyć indeksy w tabela lub widoku; jednak robić tak operacji bardziej obciąża.

Zestawy wyników

Zwraca CLEANTABLE DBCC:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Uprawnienia

Obiekt wywołujący musi tabela lub widok indeksowany, lub być element członkowski z sysadmin stała rola serwera db_owner stałe rola bazy danych lub db_ddladmin stała rola bazy danych.

Przykłady

A.Za pomocą CLEANTABLE DBCC w celu odzyskania miejsca

W poniższym przykładzie wykonywany CLEANTABLE DBCC dla Production.Document Tabela w AdventureWorks Przykładowa baza danych.

B.Za pomocą CLEANTABLE DBCC i weryfikowanie wyniki

Poniższy przykład tworzy i wypełnia tabela o kilka kolumn o zmiennej długości.Dwie kolumny są następnie usuwane i uruchomieniu CLEANTABLE DBCC odzyskać niewykorzystany obszar.Kwerendy jest uruchamiany w celu zweryfikowania liczby strona i miejsce używane wartości przed i po CLEANTABLE DBCC wykonywane jest polecenie.