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
Questo argomento è rilevante solo per i database che utilizzano il modello di recupero completo o il modello di recupero con registrazione minima delle operazioni bulk.
È possibile utilizzare un numero di sequenza del file di log (LSN) per definire il punto di recupero per un'operazione di ripristino. Si tratta tuttavia di una funzionalità specializzata progettata per i fornitori di strumenti e viene utilizzata solo in rari casi.
Panoramica dei numeri di sequenza del file di log
Gli LSN vengono usati internamente durante una sequenza RESTORE per tenere traccia del momento al quale i dati sono stati ripristinati. Quando un backup viene ripristinato, i dati vengono ripristinati sull'LSN corrispondente al momento specifico di esecuzione del backup. I backup differenziali e dei log portano il database ripristinato a un momento successivo, che corrisponde a un LSN più alto. Per altre informazioni sugli LSN, vedere Guida sull'architettura e gestione del log delle transazioni di SQL Server.
Nota
Gli LSN sono valori di tipo di dati numeric(25,0). Gli operatori matematici, ad esempio addizione o sottrazione, non sono significativi e non devono essere utilizzati con gli LSN.
Visualizzare gli LSN utilizzati da Backup e ripristino
L'LSN di un record di log in corrispondenza del quale si è verificato un determinato evento di backup e di ripristino è visibile utilizzando una o più delle istruzioni seguenti:
Nota
Gli LSN sono visualizzati anche in alcuni messaggi del log degli errori.
Sintassi Transact-SQL per il ripristino a un numero di sequenza del log (LSN)
Utilizzando un'istruzione RESTORE, è possibile arrestarsi in corrispondenza dell'LSN o immediatamente prima di esso, come segue:
Usare la clausola WITH STOPATMARK ='lsn:<numero_lsn>', dove lsn:<Numerolsn> è una stringa che specifica che il punto di recupero corrisponde al record di log contenente l'LSN specificato.
STOPATMARK avanza fino al numero di sequenza del log (LSN) e include quel record di log nel roll forward.
Usare la clausola WITH STOPBEFOREMARK ='lsn:<numero_lsn>', dove lsn:<Numerolsn> è una stringa che specifica che il punto di recupero corrisponde al record di log immediatamente precedente a quello contenente l'LSN specificato.
STOPBEFOREMARK esegue il roll forward fino all'LSN ed esclude quel record di log dal roll forward.
In genere, viene selezionata una transazione specifica da includere o escludere. Sebbene non sia necessario, il record di log specificato è in pratica un record di commit delle transazioni.
Esempi
Nell'esempio seguente si presuppone che il database AdventureWorks sia stato modificato in modo da utilizzare il modello di recupero con registrazione completa.
RESTORE LOG AdventureWorks FROM DISK = 'c:\adventureworks_log.bak'
WITH STOPATMARK = 'lsn:15000000040000037'
GO
Attività correlate
Ripristinare un backup del log delle transazioni (SQL Server)
Ripristinare un database fino al punto di errore nel modello di recupero completo (Transact-SQL)
Ripristinare un database fino a una transazione contrassegnata (SQL Server Management Studio)
Ripristinare un database di SQL Server a un punto specifico nel tempo (modello di recupero completo)
Vedi anche
Applicare backup di log delle transazioni (SQL Server)
Log delle transazioni (SQL Server)
RESTORE (Transact-SQL)
Panoramica del ripristino e del recupero (SQL Server)
Architettura e gestione del log delle transazioni di SQL Server