Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Il proprietario del database può sospendere una sessione di mirroring del database, riprenderla in qualsiasi momento La sospensione mantiene lo stato della sessione mentre sospende il mirroring. Durante i colli di bottiglia, mettere in pausa potrebbe essere utile per migliorare le prestazioni del server principale.
Quando si sospende una sessione, il database principale resta disponibile. La sospensione imposta lo stato della sessione di mirroring su SUSPENDED e il database mirror non è più allineato al database principale, con la conseguenza che il database principale viene eseguito esposto.
È consigliabile riprendere una sessione sospesa il più rapidamente possibile poiché, fintanto che la sessione di mirroring del database rimane sospesa, non è possibile troncare il log delle transazioni. Se la sessione di mirroring del database resta sospesa troppo a lungo, lo spazio del log delle transazioni può esaurirsi rendendo il database non disponibile. Per una spiegazione del motivo per cui questo accade, vedere "In che modo la sospensione e la ripresa influiscono sul troncamento del log", più avanti in questo argomento.
Importante
In un servizio forzato, quando il server principale originale esegue nuovamente la connessione il mirroring viene sospeso. Se si riprende il mirroring in questa situazione, è possibile che si verifichi una perdita di dati nel server principale originale. Per informazioni sulla gestione della potenziale perdita di dati, vedere Database Mirroring Operating Modes.
Contenuto dell'argomento
In che modo la sospensione e la ripresa influiscono sul troncamento del log
In genere, quando su un database viene eseguito un checkpoint automatico, il relativo log delle transazioni viene troncato in corrispondenza di tale checkpoint dopo il successivo backup del log. Durante il periodo in cui una sessione di mirroring del database rimane sospesa, tutti i record del log corrente restano attivi poiché il server principale è in attesa di inviarli al server mirror. I record del log non inviati si accumulano nel log delle transazioni del database principale fino alla ripresa della sessione e al momento dell'invio dei record del log dal server principale al server mirror.
Quando la sessione viene ripresa, il server principale inizia immediatamente a inviare i record del log accumulati al server mirror. Dopo che il server mirror ha confermato di aver accodato il record di log corrispondente al checkpoint automatico più vecchio, il server principale tronca il log del database principale fino a quel checkpoint. Il server mirror tronca la coda di redo allo stesso record di log. Poiché questo processo viene ripetuto per ogni checkpoint successivo, il log viene troncato in più fasi per i singoli checkpoint.
Nota
Per altre informazioni sui checkpoint e sul troncamento del log, vedere Checkpoint di database (SQL Server).
Evitare il riempimento del log delle transazioni
Se il log si riempie, perché raggiunge le dimensioni massime o l'istanza del server esaurisce lo spazio, il database non può eseguire ulteriori aggiornamenti. Per evitare questo problema, è possibile procedere in due modi:
Riprendere la sessione di mirroring del database prima che il log si riempia, oppure aggiungere altro spazio per il log. La ripresa del mirroring del database consente al server principale di inviare il log attivo accumulato al server mirror e porta il database mirror nello stato SYNCHRONIZING. Il server mirror può quindi rendere persistente il log su disco e avviarne la riesecuzione.
Interrompere la sessione di mirroring del database rimuovendo il mirroring.
A differenza della sospensione di una sessione, la rimozione del mirroring provoca l'eliminazione di tutte le informazioni relative alla sessione di mirroring. Ogni istanza del server partner mantiene la sua copia del database. Se la precedente copia mirror viene ripristinata, si sarà discostata dalla precedente copia principale e sarà in ritardo di un intervallo pari al tempo trascorso dalla sospensione della sessione. Per ulteriori informazioni, vedere Rimozione del mirroring del database (SQL Server).
Attività correlate
Per sospendere o riprendere il mirroring del database
Per arrestare il mirroring del database
Vedi anche
ALTER DATABASE (Transact-SQL)
Mirroring del database (SQL Server)
Rimozione del mirroring del database (SQL Server)