DB: sovrascrizione VS cancellazione

mercoledì 26 novembre 2014 - 11.03
Tag Elenco Tags  SQL Server 2008 R2

vittosss Profilo | Junior Member

Ciao,
domanda in merito al restore.

ho il mio applicativo con db su sql server 2008 e relativo servizio che tiene impegnato il db. tenendo impegnato il db io non posso procedere ad un restore sullo stesso se prima non spengo il servizio collegato. db in uso.
quali sono i contro se, invece che spegnere il servizio e fare il restore, cancello il db cancellando le connessioni e lo ricreo in fase di restore?

thanks
V.

alx_81 Profilo | Guru

>Ciao,
ciao

>ho il mio applicativo con db su sql server 2008 e relativo servizio
>che tiene impegnato il db. tenendo impegnato il db io non posso
>procedere ad un restore sullo stesso se prima non spengo il servizio
>collegato. db in uso.
Ma se vuoi sovrascriverlo, perchè non specifichi l'opzione REPLACE?

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222

vittosss Profilo | Junior Member

si sicuramente le mie procedure sono rivedibili. per altro ammetto che procedo tramite interfaccia visuale e non tramite codice.

vorrei però, se posso, incalzarti anche con spirito "accademico".

cancellare un db e ricrearlo è diverso da sovrascriverlo?

alx_81 Profilo | Guru

>vorrei però, se posso, incalzarti anche con spirito "accademico".
ok, scusa.. sono stato troppo pragmatico

>cancellare un db e ricrearlo è diverso da sovrascriverlo?
cancellare un db, potenzialmente (se specificato, ma di default è così se non ricordo male) porta anche alla cancellazione della storia dei backup.
Inoltre rimuove i file, andando di fatto a rompere tutto quanto hai salvato fino a quel momento nel log delle transazioni. Questa cosa potrebbe non interessarti se il modello di recupero è a SIMPLE.
Se per ricrearlo intendi fare un restore, non cambia di molto, è sempre un restore, se non che perdi la situazione in essere del log delle transazioni e la storia dei backup come detto prima.
Ah.. poi uccidi le connessioni in maniera un po' malsana

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222

vittosss Profilo | Junior Member

il recovery model è su full.
quindi, tutto sommato, è una procedura che possiamo quasi considerare paritetica.

c'è a memoria un flag di spunta nel caso si voglia cancellare anche i backup.

ho avuto solo un dubbio in merito alle statistiche di sql server. se la cancellazione potesse impattare su questi aspetti

alx_81 Profilo | Guru

>il recovery model è su full.
>quindi, tutto sommato, è una procedura che possiamo quasi considerare paritetica.
no, se è full non è paritetica, anzi, senza un backup della coda rimanente del log (ovvero quella parte di log di cui non è ancora stato fatto il backup) è completamente altra cosa.
In un sistema ad alto traffico, senza il backup del log e della coda dei log, rischieresti di tornare ad una situazione "molto" antecedente come qualità di dati.

>c'è a memoria un flag di spunta nel caso si voglia cancellare anche i backup.
La storia dei backup, perchè nel catalog di sistema vengono salvate le operazioni di backup e la loro storia.

>ho avuto solo un dubbio in merito alle statistiche di sql server.
>se la cancellazione potesse impattare su questi aspetti
Tutto quello che ha a che fare con performance, statistiche, frammentazione corrente degli indici, potrebbe cambiare.

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5