DBCC UPDATEUSAGE (Transact-SQL)

Raporty i poprawia stron i niedokładności liczba wierszy w widoki wykazu.Te niedokładności może spowodować, że raporty użycia miejsca niepoprawne zwrócony przez sp_spaceused systemu procedura składowana.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

DBCC UPDATEUSAGE 
(   { database_name | database_id | 0 } 
    [ , { table_name | table_id | view_name | view_id } 
    [ , { index_name | index_id } ] ] 
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ] 

Argumenty

  • database_name | database_id | 0
    Jest nazwa lub identyfikator bazy danych dla którego raport i statystyk użycia miejsca poprawne.Jeśli określono wartość 0, używana jest bieżąca baza danych.Nazwy bazy danych muszą być zgodne z zasadami identyfikatorów.

  • table_name | table_id | view_name | view_id
    Jest nazwa lub identyfikator tabela lub indeksowany widok dla którego raport i statystyk użycia miejsca poprawne.Nazwy tabel i widoku muszą być zgodne z zasadami identyfikatorów.

  • index_id | index_name
    To identyfikator lub nazwę indeksu, należy użyć.Jeśli nie określono instrukcja przetwarza wszystkie indeksy dla określonej tabela lub widoku.

  • Z
    Umożliwia opcje, które zostaną określone.

  • NO_INFOMSGS
    Pomija wszystkie komunikaty informacyjne.

  • COUNT_ROWS
    Określa, że row count kolumna bieżąca liczba liczba wierszy w tabela lub widoku jest aktualizowana.

Uwagi

Naprawia DBCC UPDATEUSAGE wierszy, używanych stron, strony zastrzeżone, liść stron i strona danych zlicza dla każdej partycji w tabela lub indeksu.Jeśli w tabele systemowenie niedokładności, DBCC UPDATEUSAGE zwraca żadnych danych.Jeśli niedokładności są i i Z NO_INFOMSGS nie jest używany, DBCC UPDATEUSAGE zwraca wierszy i kolumn, aktualizowane w tabele systemowe.

DBCC CHECKDB zostało rozszerzone, aby wykrywać przy ujemnych wartości liczników strona lub wiersza.Gdy wykryte, dane wyjściowe DBCC CHECKDB zawiera ostrzeżenie i zalecenie, aby uruchomić DBCC UPDATEUSAGE, aby rozwiązać problem.

Najważniejsze wskazówki

  • DBCC UPDATEUSAGE są zawsze uruchamiane po uaktualnieniu bazy danych z SQL Server 2000.Liczenie wierszy i strona zostaną poprawione i są utrzymywane w okresie późniejszym.

  • Nie uruchamiaj DBCC UPDATEUSAGE rutynowo dla baz danych utworzonych w SQL Server 2005 lub wyższa, lub na uaktualnionym baz danych, które zostały poprawione raz, przy użyciu DBCC UPDATEUSAGE.Ponieważ DBCC UPDATEUSAGE może zająć trochę czas na dużych tabel lub baz danych, to nie należy używać tylko jeśli podejrzewasz, że niepoprawne wartości zwracanych przez sp_spaceused.

  • Należy rozważyć uruchamianie DBCC UPDATEUSAGE regularnie (na przykład co tydzień), tylko wtedy, gdy baza danych, którym poddawany jest częste modyfikacje języka definicji danych (DDL), takie jak instrukcji CREATE, ALTER lub UPUSZCZANIA.

Zestawy wyników

Zwraca DBCC UPDATEUSAGE (wartości mogą być różne):

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

Uprawnienia

Wymaga członkostwa w sysadmin stała rola serwera lub db_owner rola bazy danychstałej.

Przykłady

A.Aktualizowanie strona lub wiersza liczniki lub zarówno dla wszystkich obiektów w bieżącej bazie danych

W następującym przykładzie określono 0 dla nazwy bazy danych i DBCC UPDATEUSAGE Raporty zaktualizowane informacje licznika strona lub wiersza w bieżącej bazie danych.

DBCC UPDATEUSAGE (0);
GO

B.Aktualizowanie strona lub wiersza liczniki lub oba i pomijanie komunikatów informacyjnych

W następującym przykładzie określono AdventureWorks2008R2 jako nazwę bazy danych i pomija wszystkie komunikaty informacyjne.

USE AdventureWorks2008R2;
GO
DBCC UPDATEUSAGE (AdventureWorks2008R2) WITH NO_INFOMSGS; 
GO

C.Aktualizowanie strona lub wiersza liczniki lub zarówno dla tabela

Poniższy przykład raporty o zaktualizowane informacje licznika strona lub wiersza dla Employee tabela w AdventureWorks2008R2 bazy danych.

USE AdventureWorks2008R2;
GO
DBCC UPDATEUSAGE (AdventureWorks2008R2,"HumanResources.Employee");
GO

D.Aktualizowanie strona lub wiersza liczniki lub zarówno dla określonego indeksu w tabela

W następującym przykładzie określono nazwę indeksu.

USE AdventureWorks2008R2;
GO
DBCC UPDATEUSAGE (AdventureWorks2008R2, "HumanResources.Employee", IX_Employee_OrganizationLevel_OrganizationNode);
GO