Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Si applica a:SQL Server
Rimuove le informazioni residui lasciate nelle pagine del database a causa di routine di modifica dei dati in SQL Server.
sp_clean_db_free_space pulisce tutte le pagine in tutti i file 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 di ritardo tra le pulizie delle pagine
@cleaning_delay è int, con il valore predefinito 0. Questo ritardo consente di ridurre l'effetto sul sistema di I/O.
Valori del codice restituito
0 (esito positivo) o 1 (errore).
Osservazioni:
Le operazioni di aggiornamento o le operazioni di eliminazione da una tabella che provocano lo spostamento di una riga consentono di liberare immediatamente spazio in una pagina poiché rimuovono i riferimenti alla riga specifica. In alcune circostanze, tuttavia, la riga può rimanere fisicamente nella pagina di dati come record fantasma. Un processo in background rimuove periodicamente i record fantasma. Questi dati residui non vengono restituiti dal motore di database in risposta alle query. Tuttavia, in ambienti in cui la sicurezza fisica dei dati o dei file di backup è a rischio, è possibile usare sp_clean_db_free_space per pulire questi record fantasma. Per eseguire questa operazione per ogni file di database, usare sp_clean_db_file_free_space.
Il tempo necessario per l'esecuzione sp_clean_db_free_space dipende dalle dimensioni del file, dallo spazio disponibile e dalla capacità del disco. Poiché l'esecuzione sp_clean_db_free_space può influire significativamente sull'attività di I/O, è consigliabile eseguire questa procedura al di fuori delle normali ore operative.
Prima di eseguire sp_clean_db_free_space, è consigliabile creare un backup completo del database.
La stored procedure correlata sp_clean_db_file_free_space può pulire un singolo file.
Autorizzazioni
Richiede l'appartenenza al ruolo del db_owner database.
Esempi
Nell'esempio seguente vengono eliminate tutte le informazioni residue dal database AdventureWorks2025.
USE master;
GO
EXECUTE sp_clean_db_free_space @dbname = N'AdventureWorks2022';