Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
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
sp_clean_db_free_space
[ @dbname = ] N'dbname'
[ , [ @cleaning_delay = ] cleaning_delay ]
[ ; ]
Nome del database da pulire. @dbname è sysname, senza impostazione predefinita.
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.
0
(esito positivo) o 1
(errore).
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.
Richiede l'appartenenza al ruolo del db_owner
database.
Nell'esempio seguente vengono eliminate tutte le informazioni residue dal database AdventureWorks2022
.
USE master;
GO
EXEC sp_clean_db_free_space @dbname = N'AdventureWorks2022';
Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stesso