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.
Cette rubrique s’applique uniquement aux bases de données de l’édition Entreprise de SQL Server qui contiennent plusieurs fichiers ou groupes de fichiers ; et, sous le modèle simple, uniquement pour les groupes de fichiers en lecture seule.
Pour plus d’informations sur la restauration fragmentaire et les tables mémoire optimisées, consultez Restauration fragmentaire des bases de données avec des tables Memory-Optimized.
La restauration fragmentaire permet aux bases de données qui contiennent plusieurs groupes de fichiers d’être restaurés et récupérés en phases. La restauration fragmentaire implique une série de séquences de restauration, en commençant par le groupe de fichiers principal et, dans certains cas, un ou plusieurs groupes de fichiers secondaires. La restauration fragmentaire effectue des vérifications pour s’assurer que la base de données sera cohérente à la fin. Une fois la séquence de restauration terminée, les fichiers récupérés, s’ils sont valides et cohérents avec la base de données, peuvent être mis en ligne directement.
La restauration fragmentaire fonctionne avec tous les modèles de récupération, mais elle est plus souple pour les modèles de récupération complète et enregistrés en bloc que pour le modèle simple.
Chaque restauration fragmentaire commence par une séquence de restauration initiale appelée séquence de restauration partielle. Minimalement, la séquence de restauration partielle restaure et récupère le groupe de fichiers principal et, sous le modèle de récupération simple, tous les groupes de fichiers en lecture/écriture. Pendant la séquence de restauration fragmentaire, l’ensemble de la base de données doit être hors connexion. Par la suite, la base de données est en ligne et les groupes de fichiers restaurés sont disponibles. Toutefois, tous les groupes de fichiers non restaurés restent hors connexion et ne sont pas accessibles. Toutefois, tous les groupes de fichiers hors connexion peuvent être restaurés et mis en ligne ultérieurement par une restauration de fichier.
Quel que soit le modèle de récupération utilisé par la base de données, la séquence de restauration partielle commence par une instruction RESTORE DATABASE qui restaure une sauvegarde complète et spécifie l’option PARTIAL. L’option PARTIAL démarre toujours une nouvelle restauration fragmentaire ; par conséquent, vous devez spécifier PARTIAL une seule fois dans l’instruction initiale de la séquence de restauration partielle. Une fois la séquence de restauration partielle terminée et que la base de données est mise en ligne, l’état des fichiers restants devient « récupération en attente », car leur récupération a été reportée.
Par la suite, une restauration fragmentaire inclut généralement une ou plusieurs séquences de restauration, appelées séquences de restauration de groupe de fichiers. Vous pouvez attendre d’effectuer une séquence de restauration de groupe de fichiers spécifique tant que vous le souhaitez. Chaque séquence de restauration de groupe de fichiers restaure et récupère un ou plusieurs groupes de fichiers hors connexion à un point cohérent avec la base de données. Le minutage et le nombre de séquences de restauration de groupes de fichiers dépend de votre objectif de récupération, du nombre de groupes de fichiers hors connexion que vous souhaitez restaurer et du nombre d’entre eux que vous restaurez par séquence de restauration de groupe de fichiers.
Les exigences exactes pour effectuer une restauration fragmentaire dépendent du modèle de récupération de la base de données. Pour plus d’informations, consultez « Restauration fragmentaire sous le modèle de récupération simple » et « Restauration fragmentaire sous le modèle de récupération complète », plus loin dans cette rubrique.
Scénarios de restauration partielle
Toutes les éditions de SQL Server prennent en charge les restaurations fragmentaires hors connexion. Dans l’édition Entreprise, une restauration fragmentaire peut être en ligne ou hors connexion. Les implications des restaurations fragmentaires hors connexion et en ligne sont les suivantes :
Scénario de restauration fragmentaire hors connexion
Dans une restauration fragmentaire hors connexion, la base de données est en ligne après la séquence de restauration partielle. Les groupes de fichiers qui n’ont pas encore été restaurés restent hors connexion, mais ils peuvent être restaurés lorsque vous en avez besoin après avoir mis la base de données hors connexion.
Scénario de restauration fragmentaire en ligne
Dans une restauration fragmentaire en ligne, après la séquence de restauration partielle, la base de données est en ligne et le groupe de fichiers principal et tous les groupes de fichiers secondaires récupérés sont disponibles. Les groupes de fichiers qui n’ont pas encore été restaurés restent hors connexion, mais ils peuvent être restaurés si nécessaire pendant que la base de données reste en ligne.
Les restaurations fragmentaires en ligne peuvent impliquer des transactions différées. Quand seul un sous-ensemble de groupes de fichiers a été restauré, les transactions dans la base de données qui dépendent des groupes de fichiers en ligne peuvent devenir différées. Il s’agit généralement du fait que l’ensemble de la base de données doit être cohérent. Pour plus d’informations, consultez Transactions différées (SQL Server).
Scénario de restauration partielle OLTP SQL Server In-Memory
Pour plus d’informations sur les restaurations fragmentaires de bases de données OLTP In-Memory, consultez Sauvegarde fragmentaire et restauration de bases de données avec des tables Memory-Optimized.
Restrictions
Si une séquence de restauration partielle exclut tout groupe de fichiers FILESTREAM , la restauration dans le temps n’est pas prise en charge. Vous pouvez forcer la séquence de restauration à continuer. Toutefois, les groupes de fichiers FILESTREAM omis de votre instruction RESTORE ne peuvent jamais être restaurés. Pour forcer une restauration à un instant donné, spécifiez l’option CONTINUE_AFTER_ERROR avec l’option STOPAT, STOPATMARK ou STOPBEFOREMARK, que vous devez spécifier également dans vos instructions RESTORE LOG suivantes. Si vous spécifiez CONTINUE_AFTER_ERROR, la séquence de restauration partielle réussit et le groupe de fichiers FILESTREAM devient irrécupérable.
Restauration partielle selon le modèle de récupération simple
Sous le modèle de récupération simple, la séquence de restauration fragmentaire doit commencer par une base de données complète ou une sauvegarde partielle. Ensuite, si la sauvegarde restaurée est une base différentielle, restaurez la dernière sauvegarde différentielle suivante.
Au cours de la première séquence de restauration partielle, si vous ne restaurez qu'un sous-ensemble de groupes de fichiers en lecture/écriture, les groupes de fichiers non restaurés deviennent inutilisables lors de la récupération de la base de données partiellement restaurée. L’omission d’un groupe de fichiers en lecture/écriture à partir de la séquence de restauration partielle est appropriée uniquement dans les cas suivants :
Vous envisagez que les groupes de fichiers non restaurés deviennent inutilisables.
La séquence de restauration arrive à un point de récupération auquel chaque groupe de fichiers non restauré a été placé en lecture seule, supprimé ou devenu obsolète au cours d'une restauration précédente dans la séquence de restauration partielle.
La sauvegarde complète a été effectuée pendant que la base de données utilisait le modèle de récupération simple, mais le point de récupération est à un moment où la base de données utilise le modèle de récupération complète. Pour plus d’informations, consultez « Exécution d’une restauration fragmentaire d’une base de données dont le modèle de récupération a été basculé de simple à complet », plus loin dans cette rubrique.
Configuration requise pour la restauration fragmentaire sous le modèle de récupération simple
Sous le modèle de récupération simple, l’étape initiale restaure et récupère le groupe de fichiers principal et tous les groupes de fichiers secondaires en lecture/écriture. Une fois la phase initiale terminée, les fichiers récupérés, s’ils sont valides et cohérents avec la base de données, peuvent être mis en ligne directement.
Par la suite, les groupes de fichiers en lecture seule peuvent être restaurés dans une ou plusieurs étapes supplémentaires.
La restauration fragmentaire est disponible pour un groupe de fichiers secondaire en lecture seule uniquement si les valeurs suivantes sont vraies :
Était en mode lecture seule pendant la sauvegarde.
Est resté en lecture seule, ce qui maintient la cohérence logique avec le groupe de fichiers principal.
Pour effectuer une restauration fragmentaire, les instructions suivantes doivent être suivies :
Un ensemble complet de sauvegardes pour la restauration fragmentaire d’une base de données de modèle de récupération simple doit contenir les éléments suivants :
Sauvegarde partielle ou complète de la base de données qui contient le groupe de fichiers principal et tous les groupes de fichiers qui ont été en lecture/écriture au moment de la sauvegarde.
Sauvegarde de chaque fichier en lecture seule.
Pour que la sauvegarde d’un fichier en lecture seule soit cohérente avec le groupe de fichiers principal, le groupe de fichiers secondaire doit avoir été en lecture seule à partir du moment où il a été sauvegardé jusqu’à ce que la sauvegarde qui contient le groupe de fichiers principal soit terminée. Vous pouvez utiliser des sauvegardes de fichiers différentielles, si elles ont été effectuées après que le groupe de fichiers est devenu en lecture seule.
Étapes de restauration fragmentaire (modèle de récupération simple)
Le scénario de restauration fragmentaire implique les étapes suivantes :
Étape initiale (restaurer et récupérer le groupe de fichiers principal et tous les groupes de fichiers en lecture/écriture)
La phase initiale effectue une restauration partielle. La séquence de restauration partielle restaure le groupe de fichiers principal, tous les groupes de fichiers secondaires en lecture/écriture, et (éventuellement) certains des groupes de fichiers en lecture seule. Pendant la phase initiale, l’ensemble de la base de données doit être hors connexion. Une fois la phase initiale terminée, la base de données est en ligne et les groupes de fichiers restaurés sont disponibles. Toutefois, les groupes de fichiers en lecture seule qui n’ont pas encore été restaurés restent hors connexion.
La première instruction RESTORE de la phase initiale doit effectuer les opérations suivantes :
Utilisez une sauvegarde partielle ou complète de base de données qui contient le groupe de fichiers principal et tous les groupes de fichiers qui étaient en lecture/écriture au moment de la sauvegarde. Il est courant de démarrer une séquence de restauration partielle en restaurant une sauvegarde partielle.
Spécifiez l’option PARTIAL, qui indique le début d’une restauration fragmentaire.
Remarque
L’option PARTIAL effectue des vérifications de sécurité qui garantissent que la base de données résultante est adaptée à une utilisation en tant que base de données de production.
- Spécifiez l’option READ_WRITE_FILEGROUPS si la sauvegarde est une sauvegarde complète de base de données.
Pendant que la base de données est en ligne, vous pouvez utiliser une ou plusieurs restaurations de fichiers en ligne pour restaurer et récupérer des fichiers en lecture seule hors connexion qui étaient en lecture seule au moment de la sauvegarde. Le minutage des restaurations de fichiers en ligne dépend du moment où vous souhaitez disposer des données en ligne.
Si vous devez restaurer des données dans un fichier, cela dépend des éléments suivants :
Les fichiers en lecture seule valides qui sont cohérents avec la base de données peuvent être mis en ligne directement en les récupérant sans restaurer de données.
Les fichiers endommagés ou incohérents avec la base de données doivent être restaurés avant leur récupération.
Exemples
Restauration fragmentaire avec le Modèle de récupération complète
Sous le modèle de récupération complète ou le modèle de récupération journalisé en bloc, la restauration fragmentaire est disponible pour n’importe quelle base de données qui contient plusieurs groupes de fichiers et vous pouvez restaurer une base de données à n’importe quel point dans le temps. Les séquences de restauration d’une restauration fragmentaire se comportent comme suit :
Séquence de restauration partielle
La séquence de restauration partielle restaure le groupe de fichiers principal et, éventuellement, certains des groupes de fichiers secondaires.
La première instruction RESTORE DATABASE doit effectuer les opérations suivantes :
Spécifiez l’option PARTIAL. Cela indique le début d’une restauration fragmentaire.
Utilisez toute sauvegarde complète de base de données qui contient le groupe de fichiers principal. La pratique courante consiste à démarrer une séquence de restauration partielle en restaurant une sauvegarde partielle.
Pour effectuer une restauration à un point spécifique dans le temps, vous devez spécifier l’heure dans la séquence de restauration partielle. Chaque étape successive de la séquence de restauration doit spécifier le même point dans le temps.
Les séquences de restauration de groupes de fichiers apportent des groupes de fichiers supplémentaires en ligne à un point cohérent avec la base de données.
Dans l’édition Entreprise, tout groupe de fichiers secondaire hors connexion peut être restauré et récupéré pendant que la base de données reste en ligne. Si un fichier en lecture seule spécifique n’est pas endommagé et cohérent avec la base de données, il n’est pas nécessaire de restaurer le fichier. Pour plus d’informations, consultez Récupérer une base de données sans restaurer les données (Transact-SQL).
Application de sauvegardes de journaux
Si un groupe de fichiers en lecture seule était déjà en lecture seule avant la création de la sauvegarde de fichiers, l'application des sauvegardes de journaux à ce groupe de fichiers n'est pas nécessaire et est donc ignorée lors de la restauration des fichiers. Si le groupe de fichiers est en lecture/écriture, une chaîne non ininterrompue de sauvegardes de journaux doit être appliquée à la dernière restauration complète ou différentielle pour transférer le groupe de fichiers au fichier journal actuel.
Exemples
Exécution d’une restauration fragmentaire d’une base de données dont le modèle de récupération a été basculé de simple à complet
Vous pouvez effectuer une restauration fragmentaire d’une base de données qui a été basculée du modèle de récupération simple au modèle de récupération complète depuis la sauvegarde partielle ou de base de données complète. Par exemple, considérez une base de données pour laquelle vous effectuez les étapes suivantes :
Créez une sauvegarde partielle (backup_1) d’une base de données de modèle simple.
Après un certain temps, modifiez le modèle de récupération en mode plein.
Créez une sauvegarde différentielle.
Commencez à effectuer des sauvegardes de journaux.
Par la suite, la séquence suivante est valide :
Restauration partielle qui omet certains groupes de fichiers secondaires.
Restauration différentielle suivie d’autres restaurations nécessaires.
Plus tard, une restauration de fichier d’un groupe de fichiers secondaire en lecture/écriture WITH NORECOVERY à partir de la sauvegarde partielle backup_1
Sauvegarde différentielle suivie de toutes les autres sauvegardes qui ont été restaurées dans la séquence de restauration fragmentaire d’origine pour restaurer les données jusqu’au point de récupération d’origine.
Voir aussi
Appliquer des sauvegardes de journal des transactions (SQL Server)
RESTORE (Transact-SQL)
Restaurer une base de données SQL Server à un point dans le temps (modèle de récupération complète)
Vue d'ensemble de la restauration et de la récupération (SQL Server)
Planifier et effectuer des séquences de restauration (modèle de récupération complète)