Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Cette rubrique ne concerne que les bases de données qui utilisent les modèles de récupération complet ou en bloc journalisé.
Vous pouvez utiliser un numéro séquentiel du journal (LSN) pour définir le point de récupération pour une opération de restauration. Toutefois, cette fonctionnalité est spécialement conçue pour les fournisseurs d'outils et ne devrait pas être nécessaire dans la plupart des cas.
Présentation des numéros de séquence du journal
Les LSN sont utilisés en interne au cours d’une séquence RESTORE pour indiquer le moment précis auquel les données ont été restaurées. Lorsqu'une sauvegarde est restaurée, les données sont restaurées par rapport au numéro LSN qui correspond au point dans le temps à partir duquel la sauvegarde a été effectuée. Les sauvegardes différentielles et de journaux font passer la base de données restaurée à une date ultérieure qui correspond à un numéro LSN supérieur. Pour plus d’informations sur les LSN, consultez Guide d’architecture et gestion du journal des transactions SQL Server.
Remarque
Les numéros LSN sont des valeurs de type données numeric(25,0). Les opérations arithmétiques (addition ou soustraction, par exemple) ne sont pas significatives et ne doivent pas être utilisées avec les numéros LSN.
Affichage des LSN utilisés lors de la sauvegarde et de la restauration
Le numéro LSN d'un enregistrement de journal dans lequel un événement de sauvegarde et de restauration s'est produit peut être affiché en utilisant une ou plusieurs des commandes suivantes :
Remarque
Les numéros LSN figurent également dans certains messages du journal des erreurs.
Syntaxe Transact-SQL pour une restauration vers un LSN
À l’aide de l’instruction RESTORE, vous pouvez vous arrêter au LSN ou immédiatement avant celui-ci, comme suit :
Utilisez la clause WITH STOPATMARK ='lsn:<numéro_lsn>', où lsn:<numéro_lsn> correspond à une chaîne précisant que l’enregistrement du journal qui contient le LSN spécifié équivaut au point de récupération.
STOPATMARK permet la restauration par progression jusqu'au NSE et inclut l'enregistrement correspondant issu du journal, dans la restauration.
Utilisez la clause WITH STOPBEFOREMARK ='lsn:<lsn_number>', où lsn:<lsnNumber> est une chaîne de caractères qui spécifie que l’enregistrement du journal immédiatement antérieur à l’enregistrement du journal qui contient le numéro LSN spécifié constitue le point de récupération.
STOPBEFOREMARK permet la restauration par progression jusqu'au NSE mais exclut l'enregistrement correspondant, se trouvant dans le journal, de la restauration par progression.
De façon générale, une transaction donnée est sélectionnée dans le but d'être incluse ou exclue. Dans la pratique, et ce même s'il n'est pas requis, l'enregistrement spécifié dans le journal correspond à un enregistrement de validation de transaction.
Exemples
L'exemple suivant suppose que la base de données AdventureWorks a été modifiée afin d'utiliser le mode de récupération complète.
RESTORE LOG AdventureWorks FROM DISK = 'c:\adventureworks_log.bak'
WITH STOPATMARK = 'lsn:15000000040000037'
GO
Tâches associées
Restaurer une sauvegarde de base de données à l’aide de SSMS
Restaurer une sauvegarde de journal des transactions (SQL Server)
Restaurer une base de données jusqu’au point d’échec en mode de récupération complète (Transact-SQL)
Restaurer une base de données jusqu’à une transaction marquée (SQL Server Management Studio)
Restaurer une base de données SQL Server à un moment donné (mode de récupération complet)
Voir aussi
Appliquer les sauvegardes du journal de transactions (SQL Server)
Journal des transactions (SQL Server)
RESTORE (Transact-SQL)
Vue d'ensemble de la restauration et de la récupération (SQL Server)
Guide d’architecture et gestion du journal des transactions SQL Server