Compattazione database SQL Express 2014

di il
4 risposte

Compattazione database SQL Express 2014

Buongiorno,

ho un database la cui dimensione da ormai oltre 7 anni che è in uso , è di 600MB (e oltre 3GB di fdf).

La mia domanda: 

eseguendo:

USE WEBLICProd
GO
DBCC SHRINKDATABASE (WEBLICProd, 10);
GO

la dimensione viene ridotta a pochi MB, è affidabile questa procedura che sti seguendo ?

Non perdo nulla ?

4 Risposte

  • Re: Compattazione database SQL Express 2014

    Certo che è affidabile ma ha un senso se fai prima un backup del db e dei log 

  • Re: Compattazione database SQL Express 2014

    27/06/2024 - oregon ha scritto:


    Certo che è affidabile ma ha un senso se fai prima un backup del db e dei log 

    a quale scopo il backup ? Cè possibilità che la compattazione mi renda i dati non affidabili ? Indici compresi

  • Re: Compattazione database SQL Express 2014

    Il tuo DB usa il recovery model FULL o SIMPLE?

    Se è FULL e il file di Log è cresciuto, devi

    • fare il backup del Transiction Log
    • fare lo shrink del file del Transiction Log
    • fare il reindex (perché lo shrink crea la frammentazione degli indici)
    •  

    Comunque, fare lo shrink non è una buona pratica e dovresti evitare.

    E' più importante fare regolarmente (schedulato) un backuo del Transiction Log (oltre che del Database)

  • Re: Compattazione database SQL Express 2014

    Il backup che eseguo giornalemente in automatico è il seguente, in fondo lo script.

    Scusami sono un neofita, è corretto a tuo parere ?

    Ho come impostazione “Recovery model” => Simple.

    Per cui il consiglio e non eseguire alcuna compattazione.

    USE WEBLICProd;  
    GO

    DECLARE @name VARCHAR(50) -- database name 
    DECLARE @path VARCHAR(256) -- path for backup files  
    DECLARE @fileDate VARCHAR(20) -- used for file name
    DECLARE @fileName VARCHAR(256) -- filename for backup

    -- specify database name
    SET @name = 'WEBLICProd'

    -- specify database backup directory
    SET @path = 'D:\Common Area\BACKUP\'  

    -- specify filename format
    SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

    SET @fileName = @path + @name + '_' + @fileDate + '.BAK'

    BACKUP DATABASE @name TO DISK = @fileName WITH INIT, NAME = 'WEBLICProd', SKIP, CHECKSUM;

    GO

Devi accedere o registrarti per scrivere nel forum
4 risposte