Domanda

Durante il ripristino di un database SQL Server, noto che sono disponibili 3 diversi stati di ripristino tra cui scegliere:

  • Ripristina con Recovery
  • Ripristino senza ripristino
  • Ripristina con Standby

L'ho sempre lasciato al valore predefinito, ma cosa significano tutti?

(Preferibilmente in parole povere)

È stato utile?

Soluzione

GateKiller,

In termini semplici (e non un copia-incolla da SQLBOL) in modo da poter comprendere i concetti:

RESTORE WITH RECOVERY utilizza il file multimediale di backup (ad es.fulldata.bak) per ripristinare il database all'ora in cui è stato creato il file di backup.Questo è fantastico se vuoi tornare indietro nel tempo per ripristinare il database a uno stato precedente, come quando si sviluppa un sistema.

Se desideri ripristinare il database AI DATI PIÙ ULTIMI, (ad es.come se stai eseguendo un Disaster Recovery del sistema e non puoi perdere alcun dato), allora vuoi ripristinare quel backup E POI tutti i registri delle transazioni creati da quel backup.Questo è quando usi RESTORE NORECOVERY.Ti consentirà di ripristinare i registri delle transazioni successivi fino al punto di errore (finché li hai).

RECOVERY WITH STANDBY è la possibilità di ripristinare il database fino a una data paritale (come NORECOVERY sopra) ma di consentire al database di essere ancora utilizzato READONLY.È ancora possibile applicare nuovi registri delle transazioni al database per mantenerlo aggiornato (un server di standby).Utilizzare questo quando sarebbe necessario troppo tempo per ripristinare un database completo per ripristinare le operazioni del sistema.(cioè.se si dispone di un database multi TB il cui ripristino richiederebbe 16 ore, ma potrebbe ricevere aggiornamenti del registro delle transazioni ogni 15 minuti).

È un po' come un server mirror, ma senza che "ogni singola transazione" venga inviata al server di backup in tempo reale.

Altri suggerimenti

È possibile impostare un database Microsoft SQL Server in modo che sia in modalità NORECOVERY, RECOVERY o STANDBY.

RECOVERY è lo stato normale e abituale del database in cui gli utenti possono connettersi e accedere al database (a condizione che abbiano le autorizzazioni appropriate impostate).

NORECOVERY consente all'amministratore del database di ripristinare file di backup aggiuntivi come backup differenziali o transazionali.Mentre il database è in questo stato, gli utenti non sono in grado di connettersi o accedere a questo database.

STANDBY è praticamente uguale allo stato NORECOVERY, tuttavia consente agli utenti di connettersi o accedere al database in un accesso READONLY.Pertanto gli utenti possono eseguire solo il comando SELECT sul database.Viene utilizzato molto spesso nel Log Shipping per scopi di reporting.L'unico inconveniente è che mentre ci sono utenti nel database che eseguono query su SQL Server o un DBA non è in grado di ripristinare file di backup aggiuntivi.Pertanto, se molti utenti accedono continuamente al database, la replica potrebbe rimanere indietro.

Da Books On line, penso che sia abbastanza chiaro dopo averlo letto

NORE RECUPERO

Indica all'operazione di ripristino di non eseguire il rollback delle transazioni senza commit.È necessario specificare l'opzione NORECOVERY o STANDBY se è necessario applicare un altro log delle transazioni.Se non viene specificato NORECOVERY, RECOVERY o STANDBY, RECOVERY è l'impostazione predefinita.

SQL Server richiede che l'opzione WITH NORECOVERY venga utilizzata su tutte le istruzioni RESTORE tranne quella finale durante il ripristino di un backup del database e di più log delle transazioni o quando sono necessarie più istruzioni RESTORE (ad esempio, un backup completo del database seguito da un backup differenziale del database).

Nota Quando si specifica l'opzione NORECOVERY, il database non è utilizzabile in questo stato intermedio, non ripristinato.

Se utilizzato con un'operazione di ripristino di file o filegroup, NORECOVERY forza il database a rimanere nello stato di ripristino dopo l'operazione di ripristino.Ciò è utile in una di queste situazioni:

È in esecuzione uno script di ripristino e il registro viene sempre applicato.

Viene utilizzata una sequenza di ripristini di file e il database non è destinato a essere utilizzabile tra due operazioni di ripristino.

RECUPERO

Indica all'operazione di ripristino di eseguire il rollback di tutte le transazioni senza commit.Dopo il processo di ripristino, il database è pronto per l'uso.

Se sono previste operazioni di RESTORE successive (RESTORE LOG o RESTORE DATABASE da differenziale), è necessario specificare invece NORECOVERY o STANDBY.

Se non viene specificato NORECOVERY, RECOVERY o STANDBY, RECOVERY è l'impostazione predefinita.Quando si ripristinano i set di backup da una versione precedente di SQL Server, potrebbe essere necessario un aggiornamento del database.Questo aggiornamento viene eseguito automaticamente quando viene specificato WITH RECOVERY.Per ulteriori informazioni, consulta Backup del log delle transazioni.

STAND-BY = annulla_nome_file

Specifica il nome del file di annullamento in modo che gli effetti del ripristino possano essere annullati.La dimensione richiesta per il file di annullamento dipende dal volume delle azioni di annullamento risultanti dalle transazioni non confermate.Se non viene specificato NORECOVERY, RECOVERY o STANDBY, RECOVERY è l'impostazione predefinita.

STANDBY consente di attivare un database per l'accesso in sola lettura tra i ripristini del log delle transazioni e può essere utilizzato con situazioni di server warm standby o situazioni di ripristino speciali in cui è utile ispezionare il database tra i ripristini del log.

Se il nome del file di annullamento specificato non esiste, SQL Server lo crea.Se il file esiste, SQL Server lo sovrascrive.

Lo stesso file di annullamento può essere utilizzato per ripristini consecutivi dello stesso database.Per ulteriori informazioni, vedere Utilizzo dei server standby.

Importante Se lo spazio libero su disco nell'unità contenente il nome del file di annullamento specificato è esaurito, l'operazione di ripristino si interrompe.

Lo STANDBY non è consentito quando è necessario un aggiornamento del database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top