Udostępnij za pośrednictwem


sp_clean_db_free_space (języka Transact-SQL)

Usuwa informacje szczątkowe po lewej na stronach bazy danych powodu procedur modyfikacji danych w SQL Server.sp_clean_db_free_spaceCzyści wszystkie strony we wszystkich plikach bazy danych.

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

Składnia

sp_clean_db_free_space 
[ @dbname ] = 'database_name' 
[ , [ @cleaning_delay = ] 'delay_in_seconds' ] [;]

Argumenty

  • [ @dbname= ] 'database_name'
    Jest to nazwa bazy danych do czyszczenia.dbnamejest sysname i nie może być NULL.

  • [ @cleaning_delay= ] 'delay_in_seconds'
    Określa interwał opóźnienie między czyszczeniem kolejnych stron.Pomaga zmniejszyć wpływ na system We/Wy.delay_in_secondsjest int z domyślną 0.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

Operacji usuwania z tabela lub aktualizacji operacji, które powodują wiersz, aby przenieść natychmiast zwolnić miejsce na strona poprzez usunięcie odwołania do wiersza.Jednak w pewnych okolicznościach wiersza można fizycznie pozostają na strona danych rekord widmo.Ghost rekordy są okresowo usuwane przez proces w tle.Dane te pozostałości nie jest zwracany przez Aparat baz danych w odpowiedzi na kwerendy.Jednak w środowiskach, w których fizyczne zabezpieczenia plików danych lub kopia zapasowa jest zagrożone, można użyć sp_clean_db_free_space do czyszczenia tych rekordów ghost.

czas wymagany do uruchamiania sp_clean_db_free_space zależy od rozmiaru pliku, dostępne wolne miejsce i pojemności dysku.Ponieważ z systemem sp_clean_db_free_space może znacząco wpłynąć na aktywność We/Wy, firma Microsoft zaleca, aby uruchomić tę procedurę, poza zwykłym operacji godzin.

Przed uruchomieniem sp_clean_db_free_space, zaleca się utworzenie pełnej kopia zapasowa.

Odnośnych sp_clean_db_file_free_space procedura składowana można czyścić pojedynczych plików.

Uprawnienia

Wymaga członkostwa w db_owner rola bazy danych.

Przykłady

Poniższy przykład czyści wszystkie pozostałe informacje z AdventureWorks2008R2 bazy danych.

USE master
GO
EXEC sp_clean_db_free_space 
@dbname = N'AdventureWorks2008R2' ;