Capture instantanée de base de données
SQL Server 2005 prend en charge des technologies de sauvegarde et de restauration de capture instantanée (sauvegarde de capture
instantanée de SQL Server) conjointement avec des fournisseurs indépendants de matériels et de logiciels. Les sauvegardes de capture
instantanée permettent de réduire, voire d'éliminer l’utilisation de ressources SQL Server 2005 pour effectuer la sauvegarde. Cette opération
présente de nombreux avantages pour les bases de données de taille moyenne à grande pour lesquelles la disponibilité est très importante.
Les sauvegardes de capture instantanée présentent les principaux avantages suivants :
une sauvegarde peut être créée rapidement, en général en quelques secondes, sans aucun impact sur le serveur ou un impact minimal ;
la restauration peut être effectuée à partir d'une sauvegarde sur disque tout aussi rapidement ;
la sauvegarde sur bande peut être effectuée par un autre hôte sans aucun impact sur le système de production ;
la copie d'une base de données de production peut être créée instantanément pour le rapport ou le test.
SYNTHAXE
USE master;
GO
-- Get the SQL Server data path
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1);
-- execute the CREATE DATABASE statement
EXECUTE (
'CREATE DATABASE sales_snapshot0600 ON
( NAME = SPri1_dat, FILENAME = '''+ @data_path + 'SPri1dat_0600.ss''),
( NAME = SPri2_dat, FILENAME = '''+ @data_path + 'SPri2dt_0600.ss''),
( NAME = SGrp1Fi1_dat, FILENAME = '''+ @data_path + 'SG1Fi1dt_0600.ss''),
( NAME = SGrp1Fi2_dat, FILENAME = '''+ @data_path + 'SG1Fi2dt_0600.ss''),
( NAME = SGrp2Fi1_dat, FILENAME = '''+ @data_path + 'SG2Fi1dt_0600.ss''),
( NAME = SGrp2Fi2_dat, FILENAME = '''+ @data_path + 'SG2Fi2dt_0600.ss'')
AS SNAPSHOT OF Sales');
GO
Restauration de lignes
ALTER TABLE Production.WorkOrderRouting
NOCHECK CONSTRAINT CK_WorkOrderRouting_ActualEndDate
INSERT INTO Production.WorkOrderRouting
SELECT *
FROM
AdventureWorks_dbsnapshot_1800.Production.WorkOrderRouting
ALTER TABLE Production.WorkOrderRouting
CHECK CONSTRAINT CK_WorkOrderRouting_ActualEndDate
Annulation d'une mise à jour
UPDATE HumanResources.Department
SET Name = (
SELECT Name
FROM
AdventureWorks_dbsnapshot_1800.HumanResources.Department
WHERE DepartmentID = 1)
WHERE DepartmentID = 1
Récupération d'un objet supprimé
ALTER TABLE Production.WorkOrderRouting
NOCHECK CONSTRAINT CK_WorkOrderRouting_ActualEndDate
INSERT INTO Production.WorkOrderRouting
SELECT *
FROM
AdventureWorks_dbsnapshot_1800.Production.WorkOrderRouting
ALTER TABLE Production.WorkOrderRouting
CHECK CONSTRAINT CK_WorkOrderRouting_ActualEndDate