Sauvegardes Syntaxe Backing Up a Whole Database BACKUP

publicité
Sauvegardes
Syntaxe
Backing Up a Whole Database
BACKUP DATABASE { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Backing Up Specific Files or Filegroups
BACKUP DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ ,...n ]
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Creating a Partial Backup
BACKUP DATABASE { database_name | @database_name_var }
READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Backing Up the Transaction Log (full and bulk-logged recovery models)
BACKUP LOG { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { <general_WITH_options> | <log-specific_optionspec> } [ ,...n ] ]
[;]
Truncating the Transaction Log (breaks the log chain)
BACKUP LOG { database_name | @database_name_var }
WITH { NO_LOG | TRUNCATE_ONLY }
[;]
<backup_device>::=
{
{ logical_device_name | @logical_device_name_var }
| { DISK | TAPE } =
{ 'physical_device_name' | @physical_device_name_var }
}
<MIRROR TO clause>::=
MIRROR TO <backup_device> [ ,...n ]
<file_or_filegroup>::=
{
FILE = { logical_file_name | @logical_file_name_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
}
<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
<general_WITH_options> [ ,...n ]::=
--Backup Set Options
COPY_ONLY
| DESCRIPTION = { 'text' | @text_variable }
| NAME = { backup_set_name | @backup_set_name_var }
| PASSWORD = { password | @password_variable }
| [ EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
| NO_LOG
--Media Set Options
{ NOINIT | INIT }
| { NOSKIP | SKIP }
| { NOFORMAT | FORMAT }
| MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Compatibility Options
RESTART
--Monitoring Options
STATS [ = percentage ]
--Tape Options
{ REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }
--Log-specific Options
{ NORECOVERY | STANDBY = undo_file_name }
| NO_TRUNCATE
Sauvegardes partielles (Nouveauté)
Les sauvegardes partielles sont nouvelles dans SQL Server 2005. Les sauvegardes partielles sont conçues pour le mode de récupération
simple et permettent d'améliorer la souplesse des sauvegardes de bases de données très volumineuses qui contiennent un ou plusieurs groupes
de fichiers en lecture seule. Cependant, les sauvegardes partielles fonctionnent sur toutes les bases de données, quel que soit le mode de
récupération.
Une sauvegarde partielle s'apparente à une sauvegarde complète de base de données, mais la première ne contient pas tous les groupes de
fichiers. En revanche, une sauvegarde partielle contient toutes les données du groupe de fichiers primaire, chaque groupe de fichiers en
lecture-écriture et tous les fichiers en lecture seule éventuellement spécifiés. Les sauvegardes partielles sont utiles à chaque fois que vous
souhaitez exclure des groupes de fichiers en lecture seule. La sauvegarde partielle d'une base de données en lecture seule ne contient que le
groupe de fichiers primaire.
SYNTHAXE
BACKUP DATABASE nom_base de données READ_WRITE_FILEGROUPS [ , <file_filegroup_list> ] TO <backup_device> WITH
DIFFERENTIAL
Remarque :
Les sauvegardes partielles ne sont pas prises en charge par SQL Server Management Studio ou par l'Assistant Plan de maintenance.
Sauvegardes partielles différentielles
Les sauvegardes partielles différentielles sont utilisées uniquement avec les sauvegardes partielles. Une
sauvegarde différentielle partielle n'enregistre que les extensions de données qui ont changé dans les groupes de
fichiers depuis la sauvegarde partielle précédente, appelée la base de la sauvegarde différentielle. Si seules les
données capturées par une sauvegarde partielle sont modifiées, une sauvegarde partielle différentielle est plus
petite que la base et plus rapide à créer. Pour une base de données volumineuse, la création d'une sauvegarde
différentielle facilite la réalisation de sauvegardes des données fréquentes et réduit ainsi le risque de perte
de données.
Toutefois, la restauration à partir de sauvegardes partielles différentielles demande nécessairement plus de temps
et de procédures que la restauration à partir d'une sauvegarde partielle. Le processus de restauration est aussi plus
complexe car il implique deux fichiers de sauvegarde.
Une sauvegarde partielle différentielle est destinée à être utilisée avec une seule base différentielle. La
tentative de création d'une sauvegarde partielle différentielle multibase génère une erreur.
Unité de sauvegarde
Au cours d'une opération de sauvegarde, les données sauvegardées (la sauvegarde) sont écrites sur une unité de sauvegarde physique. Une
unité de sauvegarde physique est soit un lecteur de bande, soit un fichier disque fourni par le système d'exploitation. Vous pouvez réaliser
une sauvegarde sur 1 à 64 unités de sauvegarde. Si une sauvegarde nécessite plusieurs unités de sauvegarde, les unités doivent toutes
correspondre à un seul type d'unité (disque ou bande).
CREATION :
Développez Objets serveur, puis cliquez avec le bouton droit sur Unités de sauvegarde.
Cliquez sur Nouvelle unité de sauvegarde, pour ouvrir la boîte de dialogue Unité de sauvegarde.
Entrez un nom d'unité
OU
USE master;
GO
EXEC sp_addumpdevice 'disk', 'mydiskdump', 'c:\dump\dump1.bak';
USE master;
GO
EXEC sp_addumpdevice 'disk', 'networkdevice',
'\\<servername>\<sharename>\<path>\<filename>.bak';
USE master;
GO
EXEC sp_addumpdevice 'tape', 'tapedump1', '\\.\tape0';
USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BACKUP\AdvWorksData.bak';
GO
BACKUP DATABASE AdventureWorks
TO AdvWorksData
WITH FORMAT;
GO
Mise en miroir des sauvegardes
PS : Les sauvegardes mises en miroir ne peuvent être créées ou restaurées qu'à l'aide des instructions Transact-SQL
BACKUP et RESTORE. SQL Server Management Studio ne prend pas en charge ces sauvegardes.
BACKUP DATABASE AdventureWorks
TO BackupOrginal
MIRROR TO BackupMirror
WITH
FORMAT
ATELIER
Save de AW
USE master
GO
BACKUP DATABASE AdventureWorks
TO BackupDev
MIRROR TO MirrorDev
WITH FORMAT, CHECKSUM
GO
VERIFICATION de BACKUP
RESTORE VERIFYONLY FROM BackupDev WITH CHECKSUM
GO
RESTORE VERIFYONLY FROM MirrorDev WITH CHECKSUM
GO
RESTAURATION
RESTORE DATABASE AdventureWorks
FROM DISK = 'D:\Practices\Backups\BackupDev.bak'
WITH REPLACE
Restauration d'une page
RESTORE DATABASE AdventureWorks
PAGE = '1:610' - -(N° du fichier : N° de la page endommagée)
FROM AWBack
WITH NORECOVERY
GO
ATELIER
USE master
GO
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AWDBBackup.bak'
GO
USE AdventureWorks
GO
DBCC CHECKALLOC
GO
CD C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data
Nom de fichier :
Page :
AdventureWorks_Data.mdf
610
Décalage :
0
Longueur :
4096
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
Retour à la capture instantanée
RESTORE DATABASE AdventureWorks
FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbsnapshot_1800'
ATELIER
CREATE DATABASE AdventureWorks_Snapshot1200 ON
( NAME = N'AdventureWorks_Data', FILENAME =
N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AW_1200.ss')
AS SNAPSHOT OF AdventureWorks
GO
SELECT *
FROM AdventureWorks_Snapshot1200.Sales.SalesOrderDetail
ORDER BY SalesOrderID
GO
SELECT *
FROM AdventureWorks.Sales.SalesOrderDetail
ORDER BY SalesOrderID
GO
DROP TABLE AdventureWorks.Sales.SalesOrderDetail
GO
RESTORE DATABASE AdventureWorks
FROM DATABASE_SNAPSHOT = 'AdventureWorks_Snapshot1200'
GO
Restaurer de la base de données master
sqlservr.exe -c –m
-c
Indique qu'une instance de SQL Server est démarrée indépendamment du Gestionnaire de contrôle des services Windows. Cette option sert à
réduire le délai de démarrage de SQL Server lorsque celui-ci est lancé depuis une ligne de commande.
-m
Spécifie le démarrage d'une instance de SQL Server en mode mono-utilisateur. Dans ce mode, un seul utilisateur peut se connecter au
démarrage de SQL Server. Le mécanisme CHECKPOINT (qui garantit le transfert régulier des transactions terminées du cache disque vers
l'unité de bases de données) n'est pas lancé. Cette option est généralement utilisée en cas de problème au niveau de bases de données système
requérant une réparation. Active l'option sp_configure allow updates. Par défaut, l'option allow updates est désactivée.
Régénérer une version entièrement nouvelle de la base de données master
E:\Servers\setup.exe /qn INSTANCENAME=<InstanceName> REINSTALL=SQL_Engine REBUILDDATABASE=1
SAPWD=<NewStrongPassword>
[REINSTALLMODE]
Ces informations concernent la réparation des composants installés. Lorsque vous utilisez REINSTALLMODE, vous devez spécifier un
paramètre REINSTALL. Les paramètres REINSTALL utilisent les mêmes valeurs que les paramètres ADDLOCAL.
Remarque :
L'option REINSTALLMODE n'est disponible que dans une installation sans assistance, et vous devez utiliser l'option /qn ou l'option /qb. Le
commutateur /qn supprime toutes les boîtes de dialogue et les messages d'erreur du programme d'installation. Si le commutateur /qn est
spécifié, tous les messages d'installation, y compris les messages d'erreur, sont écrits dans les fichiers journaux de l'installation.
[REBUILDDATABASE]
Ces informations concernent la reconstruction des bases de données système. Lorsque les bases de données système sont endommagées, ou
pour redéfinir le classement système, elles doivent être ramenées à l'état où elles se trouvaient lors de leur première installation. Cette
fonctionnalité est accessible à l'aide du paramètre REBUILDDATABASE, en spécifiant REBUILDDATABASE=1. Les autres paramètres
nécessaires lorsque vous utilisez REBUILDDATABASE sont :
SQLACCOUNT, SQLPASSWORD
SQLAGTACCOUNT, SQLAGTPASSWORD
SQLBROWSERACCOUNT, SQLBROWSERPASSWORD
Téléchargement