sp_clean_db_free_space (Transact-SQL)
- článek
- 01/29/2021
- 2 Zápis ke čtení
-
- m
- c
- r
- p
- M
-
+4
platí pro: SQL Server (všechny podporované verze)
odstraní zbytkové informace, které zůstaly na databázových stránkách kvůli rutinám modifikace dat v SQL Serveru. sp_clean_db_free_space čistí všechny stránky ve všech souborech databáze.
konvence syntaxe Transact-SQL
syntaxe
sp_clean_db_free_space 'database_name' 'delay_in_seconds' ]
argumenty
@dbname = ‚database_name‘
je název databáze k čištění. dbname je sysname a nemůže být NULL.
@cleaning_delay = ‚delay_in_seconds‘
určuje interval zpoždění mezi čištěním stránek. To pomáhá snížit účinek na I / o systém. delay_in_seconds je int s výchozí hodnotou 0.
návratové hodnoty kódu
0 (úspěch) nebo 1 (selhání)
poznámky
odstranění operací z tabulky nebo aktualizace operací, které způsobují přesunutí řádku, může okamžitě uvolnit místo na stránce odstraněním odkazů na řádek. Za určitých okolností však může řádek fyzicky zůstat na datové stránce jako záznam duchů. Záznamy duchů jsou pravidelně odstraňovány procesem na pozadí. Tato zbytková data nejsou vrácena databázovým strojem v reakci na dotazy. V prostředích, ve kterých je ohrožena fyzická bezpečnost dat nebo záložních souborů, však můžete tyto záznamy duchů vyčistit pomocí sp_clean_db_free_space
. Chcete-li provést tuto operaci pro databázový soubor, použijte sp_clean_db_file_free_space (Transact-SQL).
doba potřebná ke spuštění sp_clean_db_free_space závisí na velikosti souboru, dostupném volném prostoru a kapacitě disku. Protože běh sp_clean_db_free_space
může významně ovlivnit I / o aktivitu, doporučujeme tento postup spustit mimo obvyklou provozní dobu.
před spuštěním sp_clean_db_free_space
doporučujeme vytvořit úplnou zálohu databáze.
související sp_clean_db_file_free_space uložená procedura může vyčistit jeden soubor.
oprávnění
vyžaduje členství v db_owner
databázové roli.
příklady
následující příklad vyčistí všechny zbytkové informace z databáze AdventureWorks2012
.
USE master; GO EXEC sp_clean_db_free_space @dbname = N'AdventureWorks2012';
Viz také
procedury uložené v databázovém stroji (Transact-SQL)
průvodce procesem čištění duchů
sp_clean_db_file_free_space (Transact-SQL)