maart 12, 2022

sp_clean_db_free_space (Transact-SQL)

  • Artikel
  • 01/29/2021
  • 2 minuten te lezen
    • m
    • c
    • r
    • p
    • M
    • +4
Is deze pagina nuttig?

Dank u.

is van toepassing op: yesSQL 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.

Topic link icon 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)

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.