Sdílet prostřednictvím


sp_clean_db_file_free_space (Transact-SQL)

platí pro:SQL Serverazure SQL Managed Instance

Odstraňuje zbytkové informace na datových stránkách. sp_clean_db_file_free_space vyčistí všechny stránky pouze v jednom souboru databáze.

Transact-SQL konvence syntaxe

Syntaxe

sp_clean_db_file_free_space
    [ @dbname = ] N'dbname'
    , [ @fileid = ] fileid
    [ , [ @cleaning_delay = ] cleaning_delay ]
[ ; ]

Arguments

[ @dbname = ] N'dbname'

Název databáze k vyčištění. @dbname je sysname, bez výchozího nastavení.

[ @fileid = ] fileid

ID datového souboru k vyčištění. @fileid je inteligence, bez výchozího nastavení.

[ @cleaning_delay = ] cleaning_delay

Specifikuje interval, který se zpožďuje před úklidem každé stránky, v několika sekundách. @cleaning_delay je int, s výchozím nastavením 0. Toto zpoždění pomáhá snížit zátěž na I/O systém na úkor prodloužení doby čištění systému.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Poznámky

Procedura sp_clean_db_file_free_space uložená v systému přesune všechny řádky na stránce, včetně případných duchovních záznamů, na začátek stránky a poté zbytek datového prostoru na stránce inicializuje nulovou inicializací. V prostředích, kde je fyzická bezpečnost datových souborů nebo podkladového úložiště ohrožena, můžete tento uložený postup použít k zajištění, že žádná zbytková smazaná data nezůstanou v datových souborech nebo v úložišti.

Doba potřebná k běhu sp_clean_db_file_free_space závisí na velikosti datového souboru, počtu použitých stránek v souboru a I/O schopnostech disku. Protože provoz sp_clean_db_file_free_space může výrazně zvýšit aktivitu I/O, doporučujeme tento postup provádět mimo běžnou provozní dobu.

Před spuštěním sp_clean_db_file_free_spacedoporučujeme vytvořit kompletní databázovou zálohu.

Pro provedení této operace pro všechny datové soubory v databázi použijte sp_clean_db_free_space.

Povolení

Vyžaduje členství v roli db_owner databáze.

Examples

Následující příklad vyčistí všechny zbytkové informace z primárního datového souboru databáze AdventureWorks2025 .

USE master;
GO

EXECUTE sp_clean_db_file_free_space
    @dbname = N'AdventureWorks2022',
    @fileid = 1;