Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Istanza gestita di Azure SQL
Rimuove le informazioni residue nelle pagine dati.
sp_clean_db_free_space Pulisce tutte le pagine in tutti i file dati del database.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_clean_db_free_space
[ @dbname = ] N'dbname'
[ , [ @cleaning_delay = ] cleaning_delay ]
[ ; ]
Argomenti
[ @dbname = ] N'dbname'
Nome del database da pulire. @dbname è sysname, senza impostazione predefinita.
[ @cleaning_delay = ] cleaning_delay
Specifica un intervallo da ritardare prima della pulizia di ogni pagina, in secondi.
@cleaning_delay è int, con il valore predefinito 0. Questo ritardo aiuta a ridurre il carico sul sistema I/O a scapito di allungare la durata del processo di pulizia.
Valori del codice restituito
0 (esito positivo) o 1 (errore).
Osservazioni:
La sp_clean_db_free_space procedura di memoria di sistema sposta tutte le righe di una pagina, inclusi i record fantasma se presenti, all'inizio della pagina, e poi inizializza a zero il resto dello spazio dati sulla pagina. In ambienti in cui la sicurezza fisica dei file dati o dello storage sottostante è a rischio, si può utilizzare questa procedura di archiviazione per garantire che non rimangano dati residui cancellati nei file o nell'archiviazione.
Il tempo necessario per l'esecuzione sp_clean_db_free_space dipende dalla dimensione dei file dati, dal numero di pagine utilizzate nei file e dalle capacità di I/O del disco. Poiché correre sp_clean_db_free_space può aumentare significativamente l'attività I/O, consigliamo di eseguire questa procedura al di fuori degli orari abituali.
Prima di eseguire sp_clean_db_free_space, è consigliabile creare un backup completo del database.
Per eseguire questa operazione per ogni file di database, usare sp_clean_db_file_free_space.
Autorizzazioni
Richiede l'appartenenza al ruolo del db_owner database.
Esempi
Il seguente esempio elimina tutti i dati residui dal AdventureWorks2025 database.
USE master;
GO
EXECUTE sp_clean_db_free_space @dbname = N'AdventureWorks2022';