Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Instantanés de base de données SQL Server -1

Salut

Dans cet article, j'expliquerai les instantanés de base de données dans SQL Server. L'instantané de base de données est une fonctionnalité fournie avec SQL Server 2005 et est une fonctionnalité en cours dans 2008, 2012, 2014, 2016, SQL Server 2017, etc. Instantané de la base de données ; La définition la plus simple est une copie en lecture seule de la base de données ou un instantané de la base de données à un moment donné.

Lorsque le processus d'instantané est exécuté, SQL Server prend l'image actuelle de la base de données sélectionnée mais ne dispose pas des données physiques actuelles sur le disque pour la base de données d'instantané.

Il existe des données physiques uniques et uniquement pour la base de données de production. Annuler la validation de la restauration des transactions pendant la prise de l'instantané. Toutes les modifications apportées à la base de données d'instantanés seront écrites dans le fichier fragmenté pour la base de données d'instantanés.

Cela signifie que si quelqu'un a modifié des données dans la base de données Snapshot lorsque quelqu'un interroge une sélection liée aux mêmes données de Snapshot , alors SQL Server lira les données modifiées du fichier Sparse et lira les données non modifiées de la base de données d'origine.

Le plus beau portrait qui résume ce scénario est l'image suivante qui est publiée par MSDN.

Comme illustré ci-dessus, dans le 1er cas, 3 pages sur 10 de la base de données de production sont mises à jour. Ces mises à jour sont également écrites dans Sparse File comme indiqué dans le 1er cas. dans le 2ème cas, 8 pages de la base de données source sont mises à jour et 7 pages sont écrites dans le fichier sparse.

Lorsqu'un rapport ou une requête est exécuté à partir d'un instantané, SQL Server lit les pages non modifiées à partir de la base de données source SQL Server et SQL Server lit les pages modifiées à partir du fichier fragmenté.

L'objectif principal de Snapshot est de créer un rapport stable ou une base de données de test pour les développeurs pendant un certain intervalle en effectuant une sauvegarde de l'une des bases de données et en créant des rapports via Snapshot. si des erreurs mineures se produisent dans la base de données de production, l'administrateur peut revenir à son état d'origine à partir de l'instantané.

Cependant, il est très important que la base de données Snapshot soit connectée à sa base de données source. Si elle est supprimée ou migrée, la base de données principale ne peut pas être renvoyée à partir de la base de données Snapshot. C'est pourquoi la base de données Snapshot n'est pas exactement une stratégie de sauvegarde pour SQL Server. Il peut être utilisé pour les bases de données de test.

Je continuerai à parler de l'instantané de la base de données SQL Server dans le prochain article.