SQL Server Review and Drop Database Snapshot

SQL Server Review and Drop Database Snapshot

Dans le serveur SQL, un instantané de base de données est une vue statique en lecture seule d'une base de données donnée (base de données source). Un instantané capture l'état actuel de la base de données au moment de la capture d'instantané. Cela signifie qu'un instantané de base de données est cohérent transactionnel.

L'instantané de la base de données est situé dans le même cas que la base de données source. Bien que les instantanés fournissent une vue en lecture seule sur les données de la base de données cible, elles dépendent de la source. Cela signifie que la taille peut augmenter à mesure que les modifications sont appliquées à la base de données source. De même, l'instantané devient également corrompu si la base de données source est corrompue.

Il est donc important de garder à l'esprit que les instantanés de la base de données ne servent pas de sauvegardes contre des erreurs telles que la défaillance du disque ou la corruption de la base de données.

Assurez-vous de prendre des sauvegardes complètes ou partielles pour votre base de données pour protéger contre ces échecs.

Discutons de la façon dont nous pouvons prendre un instantané de base de données dans le serveur SQL.

Exemple de base de données et de table

Avant de discuter de la façon de prendre un instantané d'une base de données, créons une exemple de base de données à des fins d'illustration.

Les requêtes sont celles qui ont été fournies par ce qui suit:

Drop Base de données s'il existe un inventaire;
Créer l'inventaire de la base de données;
Utiliser l'inventaire;
Table de dépôt si existe des produits;
Créer des produits de table
(
id int identité clé primaire pas nul,
Product_name Varchar (100),
Fabricant Varchar (50),
Quantité int null,
prix int défaut 0,
bit in_stock
));
Insérer dans les produits (Product_name, fabricant, quantité, prix, in_stock)
Valeurs ('Apple iPad Air - 2022', 'Apple', 100, 569.99, 1),
('Samsung Galaxy Z Flip 4 - 2022', 'Samsung', 302, 1569.00, 1),
(«Sony Playstation 5 - 2020», «Sony», 500, 499.99, 1),
(«Samsung Galaxy Watch-5 Pro - 2022», «Samsung», 600, 209 / .99, 1),
('Apple Watch Series 6 - 2022', 'Apple', 459, 379.90, 1),
(«Apple Airpods Pro - 2022», «Apple», 200, 199.99, 1),
('55 "Classe S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini-LED Curved Gaming Screen - 2021', 'Samsung', 50, 2999.90, 1);

SQL Server Prenez un instantané de base de données

Pour prendre un instantané d'une base de données donnée, nous utilisons la requête de base de données Créer suivie de la clause AS Snapshot.

La syntaxe est la suivante:

Créer la base de données de la base de données_snapshot_name
SUR
(Name = logical_file_name, filename = 'os_file_name') [,… n]
Comme instantané de source_database_name;

Par exemple, pour prendre un instantané de la base de données «Inventaire» que nous avons créée plus tôt, nous pouvons exécuter la requête suivante:

Créer une base de données Inventory_snap sur
(nom = inventaire,
FileName = 'C: \ Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ MSSQL \ BACKUP \ Inventory.SS ')
comme instantané de l'inventaire;

SQL Server View Database Snapshot - SSMS

Vous pouvez afficher l'instantané de la base de données dans le SQL Server Management Studio en accédant aux bases de données - Instantanés de base de données.

SQL Server View Database Snapshot - Transact-SQL

Pour afficher l'instantané de la base de données à l'aide de la requête Transact-SQL, exécutez ce qui suit:

Sélectionnez Nom, Database_ID, source_database_id à partir de SYS.bases de données;

Cela devrait renvoyer les bases de données du serveur. La colonne source_database_id montre la base de données source pour un instantané donné.

Un exemple est le suivant:

Comme indiqué dans le tableau précédent, la base de données Inventory_SNAP pointe vers la base de données de l'inventaire comme source.

SQL Server Drop Database Snapshot - Transact-SQL

Pour supprimer un instantané de la base de données, vous pouvez utiliser la requête comme indiqué dans ce qui suit:

Drop Database Database_SNAPSHOT_NAME;

Exemple:

Drop Database Inventory_Snap;

Gardez à l'esprit que la commande de base de données DROP termine toutes les connexions qui utilisent la base de données Inventory_SNAP.

Conclusion

Dans cet article, vous avez appris à travailler avec les instantanés de la base de données dans le serveur SQL, y compris la création de nouveaux instantanés de base de données, la visualisation des instantanés de la base de données et la suppression des instantanés du serveur.

Merci d'avoir lu!