sp_clean_db_file_free_space (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

Tar bort kvarvarande information på datasidor. sp_clean_db_file_free_space rensar alla sidor i endast en fil i en databas.

Transact-SQL syntaxkonventioner

Syntax

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

Arguments

[ @dbname = ] N'dbname'

Namnet på databasen som ska rensas. @dbname är sysname, utan standard.

[ @fileid = ] filid

Datafil-ID:t att rensa. @fileid är int, utan standard.

[ @cleaning_delay = ] cleaning_delay

Anger ett intervall för fördröjning innan rensningen av varje sida, i sekunder. @cleaning_delay är int, med standardvärdet .0 Denna fördröjning hjälper till att minska belastningen på I/O-systemet på bekostnad av att förlänga saneringsprocessens varaktighet.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Anmärkningar

Systemproceduren sp_clean_db_file_free_space flyttar alla rader på en sida, inklusive de spökpostar om sådana finns, till början av sidan och nollinitialiserar sedan resten av datautrymmet på sidan. I miljöer där den fysiska säkerheten för datafilerna eller den underliggande lagringen är i fara, kan du använda denna lagrade procedur för att säkerställa att ingen kvarvarande raderad data finns kvar i datafilerna eller i lagringen.

Tiden som krävs för att köras sp_clean_db_file_free_space beror på storleken på datafilen, antalet använda sidor i filen och diskens I/O-kapacitet. Eftersom löpning sp_clean_db_file_free_space kan öka I/O-aktiviteten avsevärt rekommenderar vi att du utför denna procedur utanför de vanliga öppettiderna.

Innan du kör sp_clean_db_file_free_spacerekommenderar vi att du skapar en fullständig databasbackup.

För att utföra denna operation för alla datafiler i en databas, använd sp_clean_db_free_space.

Permissions

Kräver medlemskap i db_owner databasrollen.

Examples

Följande exempel rensar all kvarvarande information från databasens primära datafil AdventureWorks2025 .

USE master;
GO

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