sp_clean_db_free_space (Transact-SQL)
- Artikel
- 01/29/2021
- 2 minuten te lezen
-
- m
- c
- r
- p
- M
-
+4
is van toepassing op: SQL Server (alle ondersteunde versies)
verwijdert resterende informatie op databasepagina ‘ s vanwege gegevensveranderingsroutines in SQL Server. sp_clean_db_free_space reinigt alle pagina ‘ s in alle bestanden van de database.
Transact-SQL syntaxis conventies
syntaxis
sp_clean_db_free_space 'database_name' 'delay_in_seconds' ]
argumenten
@dbname = ‘database_name’
Is de naam van de database die moet worden opgeschoond. dbname is sysname en kan niet NULL zijn.
@cleaning_delay = ‘delay_in_seconds’
specificeert een interval om te vertragen tussen het opschonen van pagina ‘ s. Dit helpt het effect op het I/O-systeem te verminderen. delay_in_seconden is int met een standaardwaarde van 0.
retourneer codewaarden
0 (succes) of 1 (mislukking)
opmerkingen
bewerkingen uit een tabel verwijderen of bewerkingen bijwerken waardoor een rij verplaatst wordt, kunnen onmiddellijk ruimte vrijmaken op een pagina door verwijzingen naar de rij te verwijderen. Onder bepaalde omstandigheden kan de rij echter fysiek op de gegevenspagina blijven staan als een spookrecord. Ghost records worden periodiek verwijderd door een achtergrond proces. Deze resterende gegevens worden niet geretourneerd door de Database Engine in antwoord op vragen. Echter, in omgevingen waarin de fysieke beveiliging van de gegevens of back-upbestanden in gevaar is, kunt u sp_clean_db_free_space
gebruiken om deze ghost records op te schonen. Om deze bewerking per databasebestand uit te voeren, gebruik je sp_clean_db_file_free_space (Transact-SQL).
de tijd die nodig is om sp_clean_db_free_space uit te voeren, hangt af van de grootte van het bestand, de beschikbare vrije ruimte en de capaciteit van de schijf. Omdat het uitvoeren van sp_clean_db_free_space
de I/O-activiteit aanzienlijk kan beïnvloeden, raden wij u aan deze procedure buiten de gebruikelijke werkuren uit te voeren.
voordat u sp_clean_db_free_space
uitvoert, raden wij u aan een volledige databaseback-up te maken.
de gerelateerde sp_clean_db_file_free_space opgeslagen procedure kan een enkel bestand opschonen.
permissies
vereist lidmaatschap van de db_owner
database rol.
voorbeelden
het volgende voorbeeld reinigt alle resterende informatie uit de AdventureWorks2012
database.
USE master; GO EXEC sp_clean_db_free_space @dbname = N'AdventureWorks2012';
zie ook
Databasemotor opgeslagen Procedures (Transact-SQL)
Ghost Cleanup Process Guide
sp_clean_db_file_free_space (Transact-SQL)