Megosztás a következőn keresztül:


sp_clean_db_file_free_space (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Eltávolítja az adatoldalakról származó maradék információkat. sp_clean_db_file_free_space az adatbázis minden oldalát csak egy fájlban tisztítja.

Transact-SQL szintaxis konvenciók

Szemantika

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

Arguments

[ @dbname = ] N'dbname'

Az adatbázis neve, amit tisztítani kell. @dbnamea sysname, alapértelmezett nélkül.

[ @fileid = ] fileid

Az adatfájl azonosítója a tisztításhoz. @fileidint, alapértelmezett nélkül.

[ @cleaning_delay = ] cleaning_delay

Megad egy időközi időközt az egyes oldalak tisztítása előtt, másodpercekben. @cleaning_delayint, alapértelmezés 0szerint . Ez a késleltetés segít csökkenteni az I/O rendszer terhelését, miközben a takarítási folyamat időtartamának meghosszabbítása árán.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Megjegyzések

A sp_clean_db_file_free_space rendszer által tárolt eljárás az oldalon lévő összes sort, beleértve a szellemi rekordokat is, ha van van, áthelyezi az oldal elejére, majd nulla inicializálja az oldal adatterének maradék részét. Olyan környezetekben, ahol az adatfájlok vagy az alatta lévő tároló fizikai biztonsága veszélyben van, ezt a tárolt eljárást használhatod annak érdekében, hogy ne maradjanak törölt adatok az adatfájlokban vagy a tárolóban.

A futtatás sp_clean_db_file_free_space ideje az adatfájl méretétől, a fájlban használt oldalak számától és a lemez I/O képességétől függ. Mivel a futás sp_clean_db_file_free_space jelentősen növelheti az I/O aktivitást, javasoljuk, hogy ezt az eljárást a szokásos munkaidőn kívül végezze.

Mielőtt elindítanád sp_clean_db_file_free_space, javasoljuk, hogy készíts teljes adatbázis-mentést.

Ehhez az összes adatbázis adatfájlhoz sp_clean_db_free_space használjuk.

Permissions

Tagság szükséges db_owner adatbázis szerepben.

Példák

A következő példa minden maradék információt törli az adatbázis elsődleges adatfájljából AdventureWorks2025 .

USE master;
GO

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