Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données SQL
SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables ont
été sauvegardées et pas les procédures stockées
Cdlt
Juile D
Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données SQL
SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables ont
été sauvegardées et pas les procédures stockées
Cdlt
Juile D
Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données SQL
SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables ont
été sauvegardées et pas les procédures stockées
Cdlt
Juile D
Bonjour,
Julie David a écrit:Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Bonjour,
Julie David a écrit:
Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Bonjour,
Julie David a écrit:Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
quelle est la syntaxe de cette instruction Backup database
"Fred BROUARD" a écrit dans le message de news:Bonjour,
Julie David a écrit:Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
quelle est la syntaxe de cette instruction Backup database
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de news:
OKQoyv80FHA.1032@TK2MSFTNGP12.phx.gbl...
Bonjour,
Julie David a écrit:
Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
quelle est la syntaxe de cette instruction Backup database
"Fred BROUARD" a écrit dans le message de news:Bonjour,
Julie David a écrit:Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Dans l'aide en ligne MS, vous trouverez ...
N'utilisez que la première syntaxe avec l'option TO DISK....
BACKUP
Sauvegarde dans sa totalité une base de données, un journal de
transactions, ou encore un ou plusieurs fichiers ou groupes de fichiers.
Pour plus d'informations, voir Sauvegarde et restauration de bases de
données.
Syntaxe
Sauvegarde d'une base de données entière :
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
Sauvegarde de fichiers ou de groupes de fichiers spécifiques :
BACKUP DATABASE { database_name | @database_name_var }
< file_or_filegroup > [ ,...n ]
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
Sauvegarde du journal des transactions :
BACKUP LOG { database_name | @database_name_var }
{
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ ,] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword |
@mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] NO_TRUNCATE ]
[ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
}
< backup_device > :: > {
{ logical_backup_device_name | @logical_backup_device_name_var }
|
{ DISK | TAPE } > { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
< file_or_filegroup > :: > {
FILE = { logical_file_name | @logical_file_name_var }
|
FILEGROUP = { logical_filegroup_name |
@logical_filegroup_name_var }
}
Troncature du journal de transactions :
BACKUP LOG { database_name | @database_name_var }
{
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
}
Arguments
DATABASE
Spécifie une sauvegarde complète de la base de données. Si une liste de
fichiers et de groupes de fichiers est spécifiée, seuls ceux-ci sont
sauvegardés.
Remarque Lors d'une sauvegarde complète ou différentielle d'une base de
données, Microsoft® SQL Server™ sauvegarde une portion suffisante du
journal des transactions pour assurer la cohérence de la base de données
quand elle sera sauvegardée. Seule une sauvegarde complète peut être
opérée sur la base de données master.
{ database_name | @database_name_var }
Correspond à la base de données à partir de laquelle va être opérée la
sauvegarde du journal des transactions, c'est à dire la sauvegarde
complète ou partielle. Fourni comme variable (@database_name_var), ce nom
peut être spécifié comme la constante chaîne (@database_name_var =
database_name) ou comme une variable de type chaîne de caractères, sauf
pour les types de données ntext et text.
< backup_device >
Spécifie l'unité de sauvegarde logique ou physique à utiliser pour
l'opération de sauvegarde. Il peut s'agir d'un ou plusieurs des éléments
suivants :
{ logical_backup_device_name } | { @logical_backup_device_name_var }
Correspond au nom logique, qui doit suivre les règles applicables aux
identificateurs, de la ou des unités de sauvegarde (créées par
sp_addumpdevice) vers lesquelles la base de données est sauvegardée. S'il
est fourni en tant que variable (@logical_backup_device_name_var), le nom
de l'unité de sauvegarde peut être spécifié en tant que constante de
chaîne (@logical_backup_device_name_var = nom de l'unité de sauvegarde
logique) ou sous la forme d'une variable de type chaîne de caractères, à
l'exception des types ntext et text.
{ DISK | TAPE } > 'physical_backup_device_name' | @physical_backup_device_name_var
Permet que les sauvegardes soient créées sur l'unité de bande ou de disque
spécifié. L'unité physique spécifiée ne doit pas exister avant que
l'instruction BACKUP ne soit exécutée. Si l'unité physique existe et que
l'option INIT n'est pas spécifiée dans l'instruction BACKUP, la sauvegarde
est ajoutée à l'unité.
Lorsque vous spécifiez TO DISK ou TO TAPE, entrez le chemin d'accès
complet et le nom du fichier. Par exemple, DISK = 'C:Program
FilesMicrosoft SQL ServerMSSQLBACKUPMybackup.dat' ou TAPE =
'.TAPE0'.
Remarque Si un nom de chemin d'accès relatif est entré pour une
sauvegarde sur disque, le fichier de sauvegarde est placé dans le
répertoire de sauvegarde par défaut. Ce répertoire est défini lors de
l'installation et stocké dans la clé de registre BackupDirectory sous
KEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerMSSQLServer.
Si vous utilisez un serveur de réseau pourvu soit d'un nom UNC (Uniform
Naming Convention), soit d'une lettre de lecteur redirigé, spécifiez DISK
comme type d'unité.
Quand vous spécifiez plusieurs fichiers, vous pouvez mélanger noms (ou
variables) de fichiers logiques et noms (ou variables) de fichiers
physiques. Toutefois, toutes les unités doivent être du même type (disque,
bande ou canal de communication).
La sauvegarde sur bande n'est pas prise en charge sous Windows 98.
n
Marque de réservation indiquant la possibilité de spécifier plusieurs
unités de sauvegarde. Le nombre maximal d'unités de sauvegarde est de 64.
BLOCKSIZE = { blocksize | @blocksize_variable }
Indique, en octets, la taille maximale de bloc. Sur les systèmes Windows
NT, la valeur par défaut correspond à la taille de bloc par défaut de
l'unité. Généralement, ce paramètre n'est pas requis car SQL Server
choisit une taille de bloc appropriée pour l'unité. Sur les ordinateurs
tournant sous Windows 2000, la valeur par défaut est 65 536 (64 Ko, soit
la taille maximale prise en charge par SQL Server).
Pour DISK, BACKUP détermine automatiquement la taille de bloc appropriée
des unités de disques.
Remarque Pour transférer la sauvegarde effectuée sur un CD-ROM avant de
la restaurer à partir de celui-ci, définissez BLOCKSIZE sur 2048.
La valeur par défaut de BLOCKSIZE pour une sauvegarde sur bande est 65 536
(64 Ko). L'indication explicite d'une taille de bloc remplace la taille de
bloc sélectionnée dans SQL Server.
DESCRIPTION = { 'text' | @text_variable }
Spécifie le texte de format libre servant à décrire le jeu de sauvegardes.
La chaîne peut compter jusqu'à 255 caractères.
DIFFERENTIAL
Indique que la sauvegarde ne doit porter que sur les parties de la base de
données ou du fichier modifiées depuis la dernière sauvegarde complète.
Une sauvegarde différentielle occupe en général moins d'espace qu'une
sauvegarde complète. Utilisez cette option de façon à ne pas avoir à
effectuer toutes les sauvegardes successives du journal depuis la dernière
sauvegarde complète. Pour plus d'informations, voir Sauvegardes
différentielles de base de données et Sauvegardes différentielles de
fichiers.
Remarque Lors d'une sauvegarde complète ou différentielle, SQL Server
sauvegarde une partie du journal des transactions suffisante pour assurer
la cohérence de la base de données, une fois que celle-ci aura été
restaurée.
EXPIREDATE = { date | @date_var }
Indique la date à laquelle le jeu de sauvegardes expire et peut par
conséquent être écrasé. Si elle est fournie en tant que variable
(@date_var), cette date est spécifiée sous la forme d'une constante de
chaîne (@date_var = date), d'une variable de type chaîne de caractères (à
l'exception des types ntext et text), ou encore d'une variable de type
smalldatetime ou datetime, et elle doit suivre le format datetime système
configuré.
RETAINDAYS = { days | @days_var }
Indique le nombre de jours qui doivent s'écouler avant que le jeu de
supports de sauvegarde puisse être écrasé. S'il est fourni en tant que
variable (@days_var), sa valeur doit être un entier.
Important Si EXPIREDATE ou RETAINDAYS n'est pas spécifié, le délai
d'expiration est déterminé par le paramètre de configuration media
retention de sp_configure. Ces options empêchent seulement SQL Server
d'écraser un fichier. Le contenu des bandes peut être écrasé par d'autres
méthodes, et les fichiers sur disque peuvent être supprimés à partir du
système d'exploitation. Pour plus d'informations sur le contrôle du délai
d'expiration, voir SKIP et FORMAT dans cette rubrique.
PASSWORD = { password | @password_variable }
Définit le mot de passe utilisé avec le jeu de sauvegardes. PASSWORD est
une chaîne de caractères. Si un mot de passe est défini pour le jeu de
sauvegardes, il doit être fourni lors de chaque opération de restauration
à partir du jeu.
Important Un mot de passe pour un jeu de sauvegardes protège le contenu
de celui-ci contre tout accès non autorisé effectué par le biais des
outils SQL Server 2000, mais n'empêche pas son écrasement.
Pour plus d'informations sur l'utilisation des mots de passe, voir la
section « Autorisations ».
FORMAT
Indique que l'en-tête de support doit être écrit sur tous les volumes
utilisés pour cette opération de sauvegarde. Tout en-tête de support
préexistant est écrasé. L'option FORMAT invalide le contenu entier du
support, en ignorant tout contenu préexistant.
Important Utilisez l'option FORMAT avec prudence. Le formatage d'une
unité de sauvegarde ou d'un support rend inutilisable tout le jeu de
supports. Par exemple, si une bande appartenant à un jeu de supports
d'agrégats par bande est initialisée, tout le jeu de supports devient
inutilisable.
Si l'option FORMAT est spécifiée, SKIPet INIT sont implicitement pris en
compte par l'opération ; il n'est pas nécessaire de les spécifier
explicitement.
NOFORMAT
Indique que l'en-tête de support ne doit pas être écrit sur tous les
volumes utilisés pour cette opération de sauvegarde et ne réécrit pas
l'unité de sauvegarde, sauf si INIT est spécifié.
INIT
Indique que tous les jeux de sauvegardes doivent être écrasés mais
préserve l'en-tête de support. Si INIT est spécifié, toutes les données de
jeux de sauvegardes qui se trouvent sur l'unité concernée sont écrasées.
Le support de sauvegarde n'est pas écrasé lorsque l'une des conditions
ci-dessous est remplie :
Tous les jeux de sauvegardes présents sur le support ne sont pas encore
arrivés à expiration. Pour plus d'informations, reportez-vous aux options
EXPIREDATE et RETAINDAYS.
Le nom du jeu de sauvegardes donné dans l'instruction BACKUP, s'il est
fourni, ne correspond pas à celui du support de sauvegarde. Pour plus
d'informations, voir la clause NAME.
Utilisez l'option SKIP pour passer outre ces contrôles. Pour plus
d'informations sur les interactions entre les options SKIP, NOSKIP, INIT
et NOINIT, reportez-vous à la section Remarque, ci-dessous.
Remarque Si le support de sauvegarde est protégé par mot de passe, SQL
Server n'écrit pas sur le support, sauf si le mot de passe du support est
fourni. Ce contrôle n'est pas ignoré par l'option SKIP. Le support protégé
par mot de passe ne peut être écrasé que par une opération de reformatage.
Pour plus d'informations, reportez-vous à l'option FORMAT.
NOINIT
Indique que le jeu de sauvegardes est ajouté à l'unité de disque ou de
bande spécifiée, préservant ainsi les jeux de sauvegardes existants.
NOINIT est la valeur par défaut.
L'option FILE de la commande RESTORE permet de sélectionner le jeu de
sauvegardes approprié lors de la restauration. Pour plus d'informations,
voir RESTORE.
Si un mot de passe de support est défini pour le jeu de supports, il doit
être fourni.
MEDIADESCRIPTION = { text | @text_variable }
Indique le texte de description de format libre du jeu de supports
(maximum 255 caractères).
MEDIANAME = { media_name | @media_name_variable }
Indique le nom de support (128 caractères au maximum) du jeu de supports
contenant la sauvegarde entière. Si l'option MEDIANAME est spécifiée, le
nom indiqué doit correspondre au nom de support qui existe déjà sur le ou
les volumes de sauvegarde. Si elle n'est pas spécifiée, ou bien si
l'option SKIP l'est, aucune vérification du nom de support n'est
effectuée.
MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
Définit le mot de passe utilisé avec le jeu de supports. MEDIAPASSWORD est
une chaîne de caractères.
Si un mot de passe est défini pour le jeu de supports, il doit être fourni
lors de la création d'un jeu de sauvegardes sur le jeu de supports. En
outre, ce mot de passe doit également être fourni lors de chaque opération
de restauration à partir du jeu de supports. Le support protégé par mot de
passe ne peut être écrasé que par une opération de reformatage. Pour plus
d'informations, reportez-vous à l'option FORMAT.
Pour plus d'informations sur l'utilisation des mots de passe, voir la
section « Autorisations ».
NAME = { backup_set_name | @backup_set_var }
Nom du jeu de sauvegardes Les noms peuvent contenir jusqu'à 128
caractères. Si l'option NAME n'est pas spécifiée, le nom reste vide.
NORECOVERY
Utilisé uniquement avec BACKUP LOG. Sauvegarde la fin du journal et laisse
la base de données en état de restauration. NORECOVERY s'avère utile lors
du basculement vers une base de données secondaire ou de l'enregistrement
de la fin du journal avant une opération RESTORE.
STANDBY = undo_file_name
Utilisé uniquement avec BACKUP LOG. Sauvegarde la fin du journal et laisse
la base de données en mode lecture seule et attente. Le nom du fichier
d'annulation représente le support de stockage des modifications
d'annulation à annuler en cas d'application ultérieure d'opérations
RESTORE LOG.
Si le fichier d'annulation indiqué n'existe pas, SQL Server le crée. Si le
fichier existe, SQL Server l'écrase. Pour plus d'informations, voir
Utilisation des serveurs de secours.
NOREWIND
Indique que SQL Server conservera la bande ouverte après l'opération de
sauvegarde. NOREWIND implique NOUNLOAD. SQL Server conservera la propriété
du lecteur de bande jusqu'à ce qu'une commande BACKUP ou RESTORE soit
utilisée avec WITH REWIND.
Si une bande demeure ouverte par inadvertance, la façon la plus rapide de
la libérer consiste à utiliser la commande RESTORE suivante :
RESTORE LABELONLY FROM TAPE = <name> WITH REWIND
Une liste des bandes ouvertes peut être obtenue en interrogeant la table
sysopentapes de la base de données master.
REWIND
Indique que SQL Server libérera et rembobinera la bande. Si ni NOREWIND ni
REWIND n'est spécifié, REWIND est la valeur par défaut.
NOSKIP
Commande à l'instruction BACKUP de vérifier la date d'expiration de tous
les jeux de sauvegardes qui se trouvent sur le support, avant d'autoriser
leur écrasement.
SKIP
Désactive le contrôle de la date d'expiration et du nom habituellement
effectué par l'instruction BACKUP pour prévenir un écrasement des jeux de
sauvegardes. Pour plus d'informations, consultez la rubrique Remarque,
ci-après.
NOUNLOAD
Indique que la bande ne sera pas déchargée automatiquement du lecteur de
bande après une sauvegarde. NOUNLOAD reste valide jusqu'à ce que UNLOAD
soit spécifiée. Cette option n'est utilisée que dans le cas d'unités de
bande.
UNLOAD
Indique que la bande est automatiquement rembobinée et démontée lorsque la
sauvegarde est terminée. UNLOAD est définie par défaut lorsqu'une nouvelle
session utilisateur démarre. Elle reste définie jusqu'à ce que
l'utilisateur spécifie une option NOUNLOAD. Cette option n'est utilisée
que dans le cas d'unités de bande.
RESTART
Indique que SQL Server va redémarrer une opération de sauvegarde
interrompue. L'option RESTART permet de gagner du temps, parce qu'elle
redémarre la sauvegarde au point où elle a été interrompue. Pour
redémarrer une opération de sauvegarde spécifique, répétez toute
l'instruction BACKUP en y ajoutant l'option RESTART. L'utilisation de
l'option RESTART n'est pas obligatoire mais elle permet de gagner du
temps.
Important Cette option ne peut être utilisée que pour les sauvegardes sur
bande et pour celles qui s'étendent sur plusieurs volumes de bande. Une
opération de redémarrage ne se produit jamais sur le premier volume de la
sauvegarde.
STATS [ = percentage ]
Affiche un message à chaque fois qu'un autre percentage se termine et sert
à évaluer l'état d'avancement de l'opération. Si percentage est omis, SQL
Server affiche un message à chaque incrément de 10 pour-cent.
< file_or_filegroup >
Indique les noms logiques des fichiers ou groupes de fichiers à inclure
dans la sauvegarde de la base de données. Il est possible de spécifier
plusieurs fichiers ou groupes de fichiers.
FILE = { logical_file_name | @logical_file_name_var }
Indique le nom d'un ou de plusieurs fichiers à inclure dans la sauvegarde
de la base de données.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
Indique le nom d'un ou de plusieurs groupes de fichiers à inclure dans la
sauvegarde de la base de données.
Remarque Sauvegarde un fichier quand la taille de la base de données et
les exigences en matière de performances rendent impraticable une
sauvegarde complète de la base de données. Pour sauvegarder séparément le
journal des transactions, utilisez l'option BACKUP LOG.
Important Pour restaurer une base de données à partir de sauvegardes de
fichiers et de groupes de fichiers, il est nécessaire de fournir une
sauvegarde séparée du journal des transactions en utilisant pour ce faire
l'option BACKUP LOG. Pour plus d'informations sur les sauvegardes de
fichiers, voir Utilisation de sauvegardes de fichier.
Les sauvegardes de fichiers et de groupes de fichiers ne sont pas
autorisés si le modèle de récupération est simple.
n
Espace réservé indiquant qu'il est possible de spécifier plusieurs
fichiers et groupes de fichiers. Le nombre des fichiers ou de groupes de
fichiers n'est pas limité.
LOG
Indique que la sauvegarde ne doit porter que sur le journal des
transactions. Le journal est sauvegardé depuis la dernière sauvegarde LOG
exécutée avec succès et jusqu'à sa fin actuelle. Une fois que le journal
est sauvegardé, l'espace peut être tronqué si aucune réplication ou
transaction active ne le requiert.
Remarque Si la sauvegarde ne semble pas tronquer le journal, il est
possible qu'une transaction ouverte ancienne existe dans le journal.
L'espace de journal peut être surveillé au moyen de DBCC SQLPERF
(LOGSPACE). Pour plus d'informations, reportez-vous à Sauvegardes du
journal des transactions.
NO_LOG | TRUNCATE_ONLY
Efface la partie inactive du journal sans en faire une sauvegarde et
tronque le journal. Cette option permet de libérer de l'espace. Il n'est
pas nécessaire de spécifier une unité de sauvegarde, parce que la
sauvegarde du journal n'est pas conservée. NO_LOG et TRUNCATE_ONLY sont
synonymes.
Une fois le journal sauvegardé au moyen de l'option NO_LOG ou
TRUNCATE_ONLY, les modifications qui y sont enregistrées ne sont plus
récupérables. Pour des questions de récupération, exécutez immédiatement
BACKUP DATABASE.
NO_TRUNCATE
Permet de sauvegarder le journal lorsque la base de données est
endommagée.
Notes
Les sauvegardes de base de données ou de journal peuvent être ajoutées à
n'importe quelle unité de disque ou de bande, ce qui permet de conserver
au même emplacement physique la base de données et ses journaux de
transactions.
SQL Server recourt à un processus de sauvegarde en ligne pour permettre
qu'une base de données soit sauvegardée alors qu'elle est encore utilisée.
La liste suivante présente les opérations impossibles à réaliser pendant
la sauvegarde d'une base de données ou d'un journal de transactions :
Opérations de gestion des fichiers telles que l'instruction ALTER DATABASE
employées avec l'option ADD FILE ou REMOVE FILE ; les instructions INSERT,
UPDATE ou DELETE sont permises durant une opération de sauvegarde.
Compactage de base de données ou de fichier. Ceci comprend les opérations
Autoshrink.
Une opération de sauvegarde s'arrête si elle a démarré alors que l'une de
ces opérations était en cours. Si une opération de sauvegarde est en cours
et que l'une de ces opérations est tentée, l'opération échoue et la
sauvegarde se poursuit.
Les opérations de sauvegarde inter-plates-formes, impliquant
éventuellement des types de processeurs différents, peuvent être réalisées
tant que le classement de la base de données est pris en charge par le
système d'exploitation. Pour plus d'informations, voir Principes du
classement SQL Server.
Format de fichier de sauvegarde
Des sauvegardes SQL Server et Windows NT peuvent coexister sur une même
bande, et cela parce que le format de sauvegarde de SQL Server 2000se
conforme au format MTF (Microsoft Tape Format) ; ce format est celui
utilisé par les sauvegardes sur bande de Windows NT. Pour que
l'interopérabilité soit garantie, la bande doit être formatée par
NTBackup.
Types de sauvegarde.
Les types de sauvegarde pris en charge par SQL Server sont les suivantes :
Sauvegarde de base de données complète, qui sauvegarde la base de donnes
entière, y compris le journal des transactions.
Sauvegarde différentielle de base de données entre des sauvegardes
complètes de base de données.
Sauvegarde du journal des transactions.
Une séquence de sauvegardes du journal fournit une chaîne continue
d'informations de transactions qui permet de réaliser une récupération
ultérieure à et à partir de sauvegardes de bases de données, de fichiers
ou différentielles.
Sauvegarde de fichiers(s) ou groupe(s) de fichiers.
Utilisez BACKUP pour effectuer une sauvegarde des fichiers et de groupes
de fichiers, au lieu de procéder à une sauvegarde complète de la base de
données, quand celle-ci est impraticable à cause des contraintes de temps.
Pour sauvegarder un fichier, de préférence à la base de données complète,
définissez des procédures permettant de garantir que tous les fichiers de
la base de données seront sauvegardés régulièrement. En outre, il convient
d'effectuer des sauvegardes séparées du journal des transactions. Après
avoir restauré une sauvegarde de fichier, appliquez le journal des
transactions et procédez à la reprise de son contenu pour qu'il soit
cohérent avec le reste de la base de données.
Les unités de sauvegarde utilisées dans un jeu d'agrégats doivent toujours
l'être dans un jeu d'agrégats avec le même nombre d'unités (sauf s'il y a
eu une réinitialisation avec FORMAT). Lorsqu'une unité de sauvegarde a été
définie comme faisant partie d'un jeu d'agrégats, elle ne peut plus être
utilisée pour une sauvegarde d'unité unique, sauf si l'option FORMAT est
spécifiée. De la même façon, une unité qui contient des sauvegardes non
agrégées ne peut pas être utilisée dans un jeu d'agrégats, sauf si
l'option FORMAT est spécifiée. Utilisez l'option FORMAT pour fractionner
un jeu de sauvegardes d'agrégats.
Si ni MEDIANAME ni MEDIADESCRIPTION n'est spécifié lorsqu'un en-tête de
support est écrit, le champ d'en-tête de support correspondant à l'élément
non spécifié est vide.
BACKUP LOG ne peut pas être utilisé si le modèle de récupération est
SIMPLE. Utilisez BACKUP DATABASE.
Interactions de SKIP, NOSKIP, INIT et NOINIT
La table suivante montre comment les clauses {INIT | NOINIT} et {NOSKIP |
SKIP} interagissent.
Remarque Dans toutes ces interactions, si le support de bande est vide ou
que le fichier de sauvegarde sur disque n'existe pas, écrivez au préalable
un en-tête de support. Si toutefois le support n'est pas vide et ne
contient pas d'en-tête de support valide, signalez qu'il ne s'agit pas
d'un support MTF valide et abandonnez la sauvegarde.
INIT NOINIT
SKIP Si le volume contient un en-tête de support valide1, vérifiez le mot
de passe du support et écrasez tous les jeux de sauvegardes présents sur
le support en ne gardant que l'en-tête.
Si le volume ne contient pas d'en-tête de support valide, générez-en un
avec l'option éventuelle MEDIANAME, MEDIAPASSWORD et MEDIADESCRIPTION.
Si le volume contient un en-tête de support valide, vérifiez le mot de
passe du support et ajoutez le jeu de sauvegardes, en gardant ceux qui
existent déjà.
Si le volume ne contient pas d'en-tête de support valide, une erreur se
produit.
NOSKIP Si le volume contient un en-tête de support valide, effectuez les
vérifications suivantes :
Vérifiez le mot de passe du support.2
Si MEDIANAME a été spécifié, vérifiez que le nom indiqué correspond à
celui qui est mentionné dans l'en-tête du support.
Vérifiez qu'il n'y a pas déjà sur le support de jeux de sauvegardes qui ne
seraient pas encore arrivés à expiration.
S'il y en a, abandonnez la sauvegarde.
Quand toutes ces vérifications ont été effectuées, écrasez tous les jeux
de sauvegardes présents sur le support en ne gardant que l'en-tête du
support.
Si le volume ne contient pas d'en-tête de support valide, générez-en un
avec l'option éventuelle MEDIANAME, MEDIAPASSWORD et MEDIADESCRIPTION.
Si le volume contient un en-tête de support valide, vérifiez le mot de
passe du support * et assurez-vous que le nom de support correspond au
MEDIANAME indiqué, s'il en existe un. Si les deux noms correspondent,
ajoutez le jeu de sauvegardes en gardant ceux qui existent déjà.
Si le volume ne contient pas d'en-tête de support valide, une erreur se
produit.
1. Pour être valide, il doit faire état du numéro de version MTF, et
d'autres informations d'en-tête. Si la version indiquée n'est pas prise en
charge ou pas reconnue, une erreur se produit.
2. L'utilisateur doit appartenir aux rôles de serveur ou de base de
données fixes appropriés et fournir le mot de passe de support correct
pour effectuer une opération de sauvegarde.
Remarque Pour maintenir une compatibilité ascendante, il est possible
d'utiliser le mot clé DUMP à la place de BACKUP dans la syntaxe de
l'instruction BACKUP. En outre, le mot clé TRANSACTION peut être utilisé à
la place de LOG.
Tables d'historique de sauvegarde
SQL Server contient les tables suivantes qui consignent l'historique des
activités de sauvegarde :
backupfile
backupmediafamily
backupmediaset
backupset
Lorsqu'une instruction RESTORE est effectuée, les tables historiques de
sauvegarde sont modifiées.
Considérations sur la compatibilité
Attention Les sauvegardes créées avec Microsoft® SQL Server™ 2000 ne
peuvent pas être restaurées dans une version antérieure.
Autorisations
Les autorisations BACKUP DATABASE et BACKUP LOG reviennent par défaut aux
membres du rôle de serveur fixe sysadmin et des rôles de base de données
fixes db_owner et db_backupoperator.
En outre, l'utilisateur peut spécifier des mots de passe pour un jeu de
supports, un jeu de sauvegardes ou pour les deux jeux. Lorsqu'un mot de
passe est défini sur un jeu de supports, il ne suffit pas à un utilisateur
d'être membre des rôles de serveur ou de base de données fixes appropriés
pour effectuer une sauvegarde. Il doit également fournir le mot de passe
de support. De même, la restauration n'est possible que si les mots de
passe de support et de jeu de sauvegardes corrects sont spécifiés dans la
commande de restauration.
La définition de mots de passe pour les jeux de sauvegardes et de supports
est facultative dans l'instruction BACKUP. Les mots de passe empêchent les
opérations non autorisées de restauration et d'ajouts de jeux de
sauvegardes au support par le biais des outils SQL Server 2000, mais pas
l'écrasement du support avec l'option FORMAT.
Par conséquent, les mots de passe permettent de protéger le contenu du
support contre tout accès non autorisé effectué par le biais des outils
SQL Server mais pas contre une destruction éventuelle. Les mots de passe
ne constituent pas une protection totale contre les accès non autorisés au
contenu du support car les données des jeux de sauvegardes ne sont pas
cryptées et peuvent théoriquement être analysées par des programmes conçus
à cet effet. Lorsque la sécurité est fondamentale, il est important que
les personnes non autorisées ne puissent pas accéder au support.
Spécifier un mot de passe pour des objets créés sans association de mot de
passe constitue une erreur.
BACKUP crée le jeu de sauvegardes à partir du mot de passe de jeu de
sauvegardes fourni par le biais de l'option PASSWORD. En outre, BACKUP
vérifie en principe le mot de passe de support fourni par l'option
MEDIAPASSWORD avant une opération d'écriture sur le support. La seule fois
où BACKUP ne vérifie pas le mot de passe du support est lorsqu'il formate
ce dernier, écrasant ainsi l'en-tête de support. BACKUP formate le support
uniquement :
si l'option FORMAT est spécifiée ;
si l'en-tête de support n'est pas valide et INIT est spécifié ;
si l'opération écrit dans un volume de continuation.
Si BACKUP écrit l'en-tête de support, il affecte le mot de passe de jeu de
supports à la valeur spécifiée dans l'option MEDIAPASSWORD.
Pour plus d'informations sur l'impact des mot de passes sur les option
SKIP, NOSKIP, INIT et NOINIT, voir la section Remarque.
Les problèmes de propriété et d'autorisation touchant le fichier physique
de l'unité de sauvegarde peuvent influer sur une opération de sauvegarde.
SQL Server doit être à même de lire et d'écrire sur l'unité ; le compte
sous lequel le service SQL Server est exécuté doit détenir les
autorisations d'écriture. Toutefois, sp_addumpdevice, qui ajoute une
entrée pour une unité dans les tables système, ne vérifie pas les
autorisations d'accès au fichier. De tels problèmes pour le fichier
physique de l'unité de sauvegarde peuvent n'apparaître que lorsque la
ressource physique est sollicitée au moment de la sauvegarde ou de la
restauration.
Exemple
A. Sauvegarder toute la base de données MyNwind
Remarque La base de données MyNwind sert uniquement à l'illustration de
cet exemple.
Cet exemple crée une unité de sauvegarde logique dans laquelle une
sauvegarde complète de la base de données MyNwind est placée.
-- Create a logical backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_1',
DISK ='c:Program FilesMicrosoft SQL
ServerMSSQLBACKUPMyNwind_1.dat'
-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_1
B. Sauvegarder la base de données et le journal des transactions
Dans cet exemple, deux sauvegardes sont créées : une de la base de données
complète et une autre du journal des transactions. La base de données est
sauvegardée sur une unité logique appelée MyNwind_2, et le journal sur une
unité logique appelée MyNwindLog1.
Remarque La création d'une unité logique de sauvegarde ne doit être
effectuée qu'une seule fois.
-- Create the backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_2',
'c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwind_2.dat'
--Create the log backup device.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwindLog1',
'c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwindLog1.dat'
-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_2
-- Update activity has occurred since the full database backup.
-- Back up the log of the MyNwind database.
BACKUP LOG MyNwind
TO MyNwindLog1
Julie David a écrit:quelle est la syntaxe de cette instruction Backup database
"Fred BROUARD" a écrit dans le message de
news:Bonjour,
Julie David a écrit:Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Dans l'aide en ligne MS, vous trouverez ...
N'utilisez que la première syntaxe avec l'option TO DISK....
BACKUP
Sauvegarde dans sa totalité une base de données, un journal de
transactions, ou encore un ou plusieurs fichiers ou groupes de fichiers.
Pour plus d'informations, voir Sauvegarde et restauration de bases de
données.
Syntaxe
Sauvegarde d'une base de données entière :
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
Sauvegarde de fichiers ou de groupes de fichiers spécifiques :
BACKUP DATABASE { database_name | @database_name_var }
< file_or_filegroup > [ ,...n ]
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
Sauvegarde du journal des transactions :
BACKUP LOG { database_name | @database_name_var }
{
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ ,] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword |
@mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] NO_TRUNCATE ]
[ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
}
< backup_device > :: > {
{ logical_backup_device_name | @logical_backup_device_name_var }
|
{ DISK | TAPE } > { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
< file_or_filegroup > :: > {
FILE = { logical_file_name | @logical_file_name_var }
|
FILEGROUP = { logical_filegroup_name |
@logical_filegroup_name_var }
}
Troncature du journal de transactions :
BACKUP LOG { database_name | @database_name_var }
{
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
}
Arguments
DATABASE
Spécifie une sauvegarde complète de la base de données. Si une liste de
fichiers et de groupes de fichiers est spécifiée, seuls ceux-ci sont
sauvegardés.
Remarque Lors d'une sauvegarde complète ou différentielle d'une base de
données, Microsoft® SQL Server™ sauvegarde une portion suffisante du
journal des transactions pour assurer la cohérence de la base de données
quand elle sera sauvegardée. Seule une sauvegarde complète peut être
opérée sur la base de données master.
{ database_name | @database_name_var }
Correspond à la base de données à partir de laquelle va être opérée la
sauvegarde du journal des transactions, c'est à dire la sauvegarde
complète ou partielle. Fourni comme variable (@database_name_var), ce nom
peut être spécifié comme la constante chaîne (@database_name_var =
database_name) ou comme une variable de type chaîne de caractères, sauf
pour les types de données ntext et text.
< backup_device >
Spécifie l'unité de sauvegarde logique ou physique à utiliser pour
l'opération de sauvegarde. Il peut s'agir d'un ou plusieurs des éléments
suivants :
{ logical_backup_device_name } | { @logical_backup_device_name_var }
Correspond au nom logique, qui doit suivre les règles applicables aux
identificateurs, de la ou des unités de sauvegarde (créées par
sp_addumpdevice) vers lesquelles la base de données est sauvegardée. S'il
est fourni en tant que variable (@logical_backup_device_name_var), le nom
de l'unité de sauvegarde peut être spécifié en tant que constante de
chaîne (@logical_backup_device_name_var = nom de l'unité de sauvegarde
logique) ou sous la forme d'une variable de type chaîne de caractères, à
l'exception des types ntext et text.
{ DISK | TAPE } > 'physical_backup_device_name' | @physical_backup_device_name_var
Permet que les sauvegardes soient créées sur l'unité de bande ou de disque
spécifié. L'unité physique spécifiée ne doit pas exister avant que
l'instruction BACKUP ne soit exécutée. Si l'unité physique existe et que
l'option INIT n'est pas spécifiée dans l'instruction BACKUP, la sauvegarde
est ajoutée à l'unité.
Lorsque vous spécifiez TO DISK ou TO TAPE, entrez le chemin d'accès
complet et le nom du fichier. Par exemple, DISK = 'C:Program
FilesMicrosoft SQL ServerMSSQLBACKUPMybackup.dat' ou TAPE =
'\.TAPE0'.
Remarque Si un nom de chemin d'accès relatif est entré pour une
sauvegarde sur disque, le fichier de sauvegarde est placé dans le
répertoire de sauvegarde par défaut. Ce répertoire est défini lors de
l'installation et stocké dans la clé de registre BackupDirectory sous
KEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerMSSQLServer.
Si vous utilisez un serveur de réseau pourvu soit d'un nom UNC (Uniform
Naming Convention), soit d'une lettre de lecteur redirigé, spécifiez DISK
comme type d'unité.
Quand vous spécifiez plusieurs fichiers, vous pouvez mélanger noms (ou
variables) de fichiers logiques et noms (ou variables) de fichiers
physiques. Toutefois, toutes les unités doivent être du même type (disque,
bande ou canal de communication).
La sauvegarde sur bande n'est pas prise en charge sous Windows 98.
n
Marque de réservation indiquant la possibilité de spécifier plusieurs
unités de sauvegarde. Le nombre maximal d'unités de sauvegarde est de 64.
BLOCKSIZE = { blocksize | @blocksize_variable }
Indique, en octets, la taille maximale de bloc. Sur les systèmes Windows
NT, la valeur par défaut correspond à la taille de bloc par défaut de
l'unité. Généralement, ce paramètre n'est pas requis car SQL Server
choisit une taille de bloc appropriée pour l'unité. Sur les ordinateurs
tournant sous Windows 2000, la valeur par défaut est 65 536 (64 Ko, soit
la taille maximale prise en charge par SQL Server).
Pour DISK, BACKUP détermine automatiquement la taille de bloc appropriée
des unités de disques.
Remarque Pour transférer la sauvegarde effectuée sur un CD-ROM avant de
la restaurer à partir de celui-ci, définissez BLOCKSIZE sur 2048.
La valeur par défaut de BLOCKSIZE pour une sauvegarde sur bande est 65 536
(64 Ko). L'indication explicite d'une taille de bloc remplace la taille de
bloc sélectionnée dans SQL Server.
DESCRIPTION = { 'text' | @text_variable }
Spécifie le texte de format libre servant à décrire le jeu de sauvegardes.
La chaîne peut compter jusqu'à 255 caractères.
DIFFERENTIAL
Indique que la sauvegarde ne doit porter que sur les parties de la base de
données ou du fichier modifiées depuis la dernière sauvegarde complète.
Une sauvegarde différentielle occupe en général moins d'espace qu'une
sauvegarde complète. Utilisez cette option de façon à ne pas avoir à
effectuer toutes les sauvegardes successives du journal depuis la dernière
sauvegarde complète. Pour plus d'informations, voir Sauvegardes
différentielles de base de données et Sauvegardes différentielles de
fichiers.
Remarque Lors d'une sauvegarde complète ou différentielle, SQL Server
sauvegarde une partie du journal des transactions suffisante pour assurer
la cohérence de la base de données, une fois que celle-ci aura été
restaurée.
EXPIREDATE = { date | @date_var }
Indique la date à laquelle le jeu de sauvegardes expire et peut par
conséquent être écrasé. Si elle est fournie en tant que variable
(@date_var), cette date est spécifiée sous la forme d'une constante de
chaîne (@date_var = date), d'une variable de type chaîne de caractères (à
l'exception des types ntext et text), ou encore d'une variable de type
smalldatetime ou datetime, et elle doit suivre le format datetime système
configuré.
RETAINDAYS = { days | @days_var }
Indique le nombre de jours qui doivent s'écouler avant que le jeu de
supports de sauvegarde puisse être écrasé. S'il est fourni en tant que
variable (@days_var), sa valeur doit être un entier.
Important Si EXPIREDATE ou RETAINDAYS n'est pas spécifié, le délai
d'expiration est déterminé par le paramètre de configuration media
retention de sp_configure. Ces options empêchent seulement SQL Server
d'écraser un fichier. Le contenu des bandes peut être écrasé par d'autres
méthodes, et les fichiers sur disque peuvent être supprimés à partir du
système d'exploitation. Pour plus d'informations sur le contrôle du délai
d'expiration, voir SKIP et FORMAT dans cette rubrique.
PASSWORD = { password | @password_variable }
Définit le mot de passe utilisé avec le jeu de sauvegardes. PASSWORD est
une chaîne de caractères. Si un mot de passe est défini pour le jeu de
sauvegardes, il doit être fourni lors de chaque opération de restauration
à partir du jeu.
Important Un mot de passe pour un jeu de sauvegardes protège le contenu
de celui-ci contre tout accès non autorisé effectué par le biais des
outils SQL Server 2000, mais n'empêche pas son écrasement.
Pour plus d'informations sur l'utilisation des mots de passe, voir la
section « Autorisations ».
FORMAT
Indique que l'en-tête de support doit être écrit sur tous les volumes
utilisés pour cette opération de sauvegarde. Tout en-tête de support
préexistant est écrasé. L'option FORMAT invalide le contenu entier du
support, en ignorant tout contenu préexistant.
Important Utilisez l'option FORMAT avec prudence. Le formatage d'une
unité de sauvegarde ou d'un support rend inutilisable tout le jeu de
supports. Par exemple, si une bande appartenant à un jeu de supports
d'agrégats par bande est initialisée, tout le jeu de supports devient
inutilisable.
Si l'option FORMAT est spécifiée, SKIPet INIT sont implicitement pris en
compte par l'opération ; il n'est pas nécessaire de les spécifier
explicitement.
NOFORMAT
Indique que l'en-tête de support ne doit pas être écrit sur tous les
volumes utilisés pour cette opération de sauvegarde et ne réécrit pas
l'unité de sauvegarde, sauf si INIT est spécifié.
INIT
Indique que tous les jeux de sauvegardes doivent être écrasés mais
préserve l'en-tête de support. Si INIT est spécifié, toutes les données de
jeux de sauvegardes qui se trouvent sur l'unité concernée sont écrasées.
Le support de sauvegarde n'est pas écrasé lorsque l'une des conditions
ci-dessous est remplie :
Tous les jeux de sauvegardes présents sur le support ne sont pas encore
arrivés à expiration. Pour plus d'informations, reportez-vous aux options
EXPIREDATE et RETAINDAYS.
Le nom du jeu de sauvegardes donné dans l'instruction BACKUP, s'il est
fourni, ne correspond pas à celui du support de sauvegarde. Pour plus
d'informations, voir la clause NAME.
Utilisez l'option SKIP pour passer outre ces contrôles. Pour plus
d'informations sur les interactions entre les options SKIP, NOSKIP, INIT
et NOINIT, reportez-vous à la section Remarque, ci-dessous.
Remarque Si le support de sauvegarde est protégé par mot de passe, SQL
Server n'écrit pas sur le support, sauf si le mot de passe du support est
fourni. Ce contrôle n'est pas ignoré par l'option SKIP. Le support protégé
par mot de passe ne peut être écrasé que par une opération de reformatage.
Pour plus d'informations, reportez-vous à l'option FORMAT.
NOINIT
Indique que le jeu de sauvegardes est ajouté à l'unité de disque ou de
bande spécifiée, préservant ainsi les jeux de sauvegardes existants.
NOINIT est la valeur par défaut.
L'option FILE de la commande RESTORE permet de sélectionner le jeu de
sauvegardes approprié lors de la restauration. Pour plus d'informations,
voir RESTORE.
Si un mot de passe de support est défini pour le jeu de supports, il doit
être fourni.
MEDIADESCRIPTION = { text | @text_variable }
Indique le texte de description de format libre du jeu de supports
(maximum 255 caractères).
MEDIANAME = { media_name | @media_name_variable }
Indique le nom de support (128 caractères au maximum) du jeu de supports
contenant la sauvegarde entière. Si l'option MEDIANAME est spécifiée, le
nom indiqué doit correspondre au nom de support qui existe déjà sur le ou
les volumes de sauvegarde. Si elle n'est pas spécifiée, ou bien si
l'option SKIP l'est, aucune vérification du nom de support n'est
effectuée.
MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
Définit le mot de passe utilisé avec le jeu de supports. MEDIAPASSWORD est
une chaîne de caractères.
Si un mot de passe est défini pour le jeu de supports, il doit être fourni
lors de la création d'un jeu de sauvegardes sur le jeu de supports. En
outre, ce mot de passe doit également être fourni lors de chaque opération
de restauration à partir du jeu de supports. Le support protégé par mot de
passe ne peut être écrasé que par une opération de reformatage. Pour plus
d'informations, reportez-vous à l'option FORMAT.
Pour plus d'informations sur l'utilisation des mots de passe, voir la
section « Autorisations ».
NAME = { backup_set_name | @backup_set_var }
Nom du jeu de sauvegardes Les noms peuvent contenir jusqu'à 128
caractères. Si l'option NAME n'est pas spécifiée, le nom reste vide.
NORECOVERY
Utilisé uniquement avec BACKUP LOG. Sauvegarde la fin du journal et laisse
la base de données en état de restauration. NORECOVERY s'avère utile lors
du basculement vers une base de données secondaire ou de l'enregistrement
de la fin du journal avant une opération RESTORE.
STANDBY = undo_file_name
Utilisé uniquement avec BACKUP LOG. Sauvegarde la fin du journal et laisse
la base de données en mode lecture seule et attente. Le nom du fichier
d'annulation représente le support de stockage des modifications
d'annulation à annuler en cas d'application ultérieure d'opérations
RESTORE LOG.
Si le fichier d'annulation indiqué n'existe pas, SQL Server le crée. Si le
fichier existe, SQL Server l'écrase. Pour plus d'informations, voir
Utilisation des serveurs de secours.
NOREWIND
Indique que SQL Server conservera la bande ouverte après l'opération de
sauvegarde. NOREWIND implique NOUNLOAD. SQL Server conservera la propriété
du lecteur de bande jusqu'à ce qu'une commande BACKUP ou RESTORE soit
utilisée avec WITH REWIND.
Si une bande demeure ouverte par inadvertance, la façon la plus rapide de
la libérer consiste à utiliser la commande RESTORE suivante :
RESTORE LABELONLY FROM TAPE = <name> WITH REWIND
Une liste des bandes ouvertes peut être obtenue en interrogeant la table
sysopentapes de la base de données master.
REWIND
Indique que SQL Server libérera et rembobinera la bande. Si ni NOREWIND ni
REWIND n'est spécifié, REWIND est la valeur par défaut.
NOSKIP
Commande à l'instruction BACKUP de vérifier la date d'expiration de tous
les jeux de sauvegardes qui se trouvent sur le support, avant d'autoriser
leur écrasement.
SKIP
Désactive le contrôle de la date d'expiration et du nom habituellement
effectué par l'instruction BACKUP pour prévenir un écrasement des jeux de
sauvegardes. Pour plus d'informations, consultez la rubrique Remarque,
ci-après.
NOUNLOAD
Indique que la bande ne sera pas déchargée automatiquement du lecteur de
bande après une sauvegarde. NOUNLOAD reste valide jusqu'à ce que UNLOAD
soit spécifiée. Cette option n'est utilisée que dans le cas d'unités de
bande.
UNLOAD
Indique que la bande est automatiquement rembobinée et démontée lorsque la
sauvegarde est terminée. UNLOAD est définie par défaut lorsqu'une nouvelle
session utilisateur démarre. Elle reste définie jusqu'à ce que
l'utilisateur spécifie une option NOUNLOAD. Cette option n'est utilisée
que dans le cas d'unités de bande.
RESTART
Indique que SQL Server va redémarrer une opération de sauvegarde
interrompue. L'option RESTART permet de gagner du temps, parce qu'elle
redémarre la sauvegarde au point où elle a été interrompue. Pour
redémarrer une opération de sauvegarde spécifique, répétez toute
l'instruction BACKUP en y ajoutant l'option RESTART. L'utilisation de
l'option RESTART n'est pas obligatoire mais elle permet de gagner du
temps.
Important Cette option ne peut être utilisée que pour les sauvegardes sur
bande et pour celles qui s'étendent sur plusieurs volumes de bande. Une
opération de redémarrage ne se produit jamais sur le premier volume de la
sauvegarde.
STATS [ = percentage ]
Affiche un message à chaque fois qu'un autre percentage se termine et sert
à évaluer l'état d'avancement de l'opération. Si percentage est omis, SQL
Server affiche un message à chaque incrément de 10 pour-cent.
< file_or_filegroup >
Indique les noms logiques des fichiers ou groupes de fichiers à inclure
dans la sauvegarde de la base de données. Il est possible de spécifier
plusieurs fichiers ou groupes de fichiers.
FILE = { logical_file_name | @logical_file_name_var }
Indique le nom d'un ou de plusieurs fichiers à inclure dans la sauvegarde
de la base de données.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
Indique le nom d'un ou de plusieurs groupes de fichiers à inclure dans la
sauvegarde de la base de données.
Remarque Sauvegarde un fichier quand la taille de la base de données et
les exigences en matière de performances rendent impraticable une
sauvegarde complète de la base de données. Pour sauvegarder séparément le
journal des transactions, utilisez l'option BACKUP LOG.
Important Pour restaurer une base de données à partir de sauvegardes de
fichiers et de groupes de fichiers, il est nécessaire de fournir une
sauvegarde séparée du journal des transactions en utilisant pour ce faire
l'option BACKUP LOG. Pour plus d'informations sur les sauvegardes de
fichiers, voir Utilisation de sauvegardes de fichier.
Les sauvegardes de fichiers et de groupes de fichiers ne sont pas
autorisés si le modèle de récupération est simple.
n
Espace réservé indiquant qu'il est possible de spécifier plusieurs
fichiers et groupes de fichiers. Le nombre des fichiers ou de groupes de
fichiers n'est pas limité.
LOG
Indique que la sauvegarde ne doit porter que sur le journal des
transactions. Le journal est sauvegardé depuis la dernière sauvegarde LOG
exécutée avec succès et jusqu'à sa fin actuelle. Une fois que le journal
est sauvegardé, l'espace peut être tronqué si aucune réplication ou
transaction active ne le requiert.
Remarque Si la sauvegarde ne semble pas tronquer le journal, il est
possible qu'une transaction ouverte ancienne existe dans le journal.
L'espace de journal peut être surveillé au moyen de DBCC SQLPERF
(LOGSPACE). Pour plus d'informations, reportez-vous à Sauvegardes du
journal des transactions.
NO_LOG | TRUNCATE_ONLY
Efface la partie inactive du journal sans en faire une sauvegarde et
tronque le journal. Cette option permet de libérer de l'espace. Il n'est
pas nécessaire de spécifier une unité de sauvegarde, parce que la
sauvegarde du journal n'est pas conservée. NO_LOG et TRUNCATE_ONLY sont
synonymes.
Une fois le journal sauvegardé au moyen de l'option NO_LOG ou
TRUNCATE_ONLY, les modifications qui y sont enregistrées ne sont plus
récupérables. Pour des questions de récupération, exécutez immédiatement
BACKUP DATABASE.
NO_TRUNCATE
Permet de sauvegarder le journal lorsque la base de données est
endommagée.
Notes
Les sauvegardes de base de données ou de journal peuvent être ajoutées à
n'importe quelle unité de disque ou de bande, ce qui permet de conserver
au même emplacement physique la base de données et ses journaux de
transactions.
SQL Server recourt à un processus de sauvegarde en ligne pour permettre
qu'une base de données soit sauvegardée alors qu'elle est encore utilisée.
La liste suivante présente les opérations impossibles à réaliser pendant
la sauvegarde d'une base de données ou d'un journal de transactions :
Opérations de gestion des fichiers telles que l'instruction ALTER DATABASE
employées avec l'option ADD FILE ou REMOVE FILE ; les instructions INSERT,
UPDATE ou DELETE sont permises durant une opération de sauvegarde.
Compactage de base de données ou de fichier. Ceci comprend les opérations
Autoshrink.
Une opération de sauvegarde s'arrête si elle a démarré alors que l'une de
ces opérations était en cours. Si une opération de sauvegarde est en cours
et que l'une de ces opérations est tentée, l'opération échoue et la
sauvegarde se poursuit.
Les opérations de sauvegarde inter-plates-formes, impliquant
éventuellement des types de processeurs différents, peuvent être réalisées
tant que le classement de la base de données est pris en charge par le
système d'exploitation. Pour plus d'informations, voir Principes du
classement SQL Server.
Format de fichier de sauvegarde
Des sauvegardes SQL Server et Windows NT peuvent coexister sur une même
bande, et cela parce que le format de sauvegarde de SQL Server 2000se
conforme au format MTF (Microsoft Tape Format) ; ce format est celui
utilisé par les sauvegardes sur bande de Windows NT. Pour que
l'interopérabilité soit garantie, la bande doit être formatée par
NTBackup.
Types de sauvegarde.
Les types de sauvegarde pris en charge par SQL Server sont les suivantes :
Sauvegarde de base de données complète, qui sauvegarde la base de donnes
entière, y compris le journal des transactions.
Sauvegarde différentielle de base de données entre des sauvegardes
complètes de base de données.
Sauvegarde du journal des transactions.
Une séquence de sauvegardes du journal fournit une chaîne continue
d'informations de transactions qui permet de réaliser une récupération
ultérieure à et à partir de sauvegardes de bases de données, de fichiers
ou différentielles.
Sauvegarde de fichiers(s) ou groupe(s) de fichiers.
Utilisez BACKUP pour effectuer une sauvegarde des fichiers et de groupes
de fichiers, au lieu de procéder à une sauvegarde complète de la base de
données, quand celle-ci est impraticable à cause des contraintes de temps.
Pour sauvegarder un fichier, de préférence à la base de données complète,
définissez des procédures permettant de garantir que tous les fichiers de
la base de données seront sauvegardés régulièrement. En outre, il convient
d'effectuer des sauvegardes séparées du journal des transactions. Après
avoir restauré une sauvegarde de fichier, appliquez le journal des
transactions et procédez à la reprise de son contenu pour qu'il soit
cohérent avec le reste de la base de données.
Les unités de sauvegarde utilisées dans un jeu d'agrégats doivent toujours
l'être dans un jeu d'agrégats avec le même nombre d'unités (sauf s'il y a
eu une réinitialisation avec FORMAT). Lorsqu'une unité de sauvegarde a été
définie comme faisant partie d'un jeu d'agrégats, elle ne peut plus être
utilisée pour une sauvegarde d'unité unique, sauf si l'option FORMAT est
spécifiée. De la même façon, une unité qui contient des sauvegardes non
agrégées ne peut pas être utilisée dans un jeu d'agrégats, sauf si
l'option FORMAT est spécifiée. Utilisez l'option FORMAT pour fractionner
un jeu de sauvegardes d'agrégats.
Si ni MEDIANAME ni MEDIADESCRIPTION n'est spécifié lorsqu'un en-tête de
support est écrit, le champ d'en-tête de support correspondant à l'élément
non spécifié est vide.
BACKUP LOG ne peut pas être utilisé si le modèle de récupération est
SIMPLE. Utilisez BACKUP DATABASE.
Interactions de SKIP, NOSKIP, INIT et NOINIT
La table suivante montre comment les clauses {INIT | NOINIT} et {NOSKIP |
SKIP} interagissent.
Remarque Dans toutes ces interactions, si le support de bande est vide ou
que le fichier de sauvegarde sur disque n'existe pas, écrivez au préalable
un en-tête de support. Si toutefois le support n'est pas vide et ne
contient pas d'en-tête de support valide, signalez qu'il ne s'agit pas
d'un support MTF valide et abandonnez la sauvegarde.
INIT NOINIT
SKIP Si le volume contient un en-tête de support valide1, vérifiez le mot
de passe du support et écrasez tous les jeux de sauvegardes présents sur
le support en ne gardant que l'en-tête.
Si le volume ne contient pas d'en-tête de support valide, générez-en un
avec l'option éventuelle MEDIANAME, MEDIAPASSWORD et MEDIADESCRIPTION.
Si le volume contient un en-tête de support valide, vérifiez le mot de
passe du support et ajoutez le jeu de sauvegardes, en gardant ceux qui
existent déjà.
Si le volume ne contient pas d'en-tête de support valide, une erreur se
produit.
NOSKIP Si le volume contient un en-tête de support valide, effectuez les
vérifications suivantes :
Vérifiez le mot de passe du support.2
Si MEDIANAME a été spécifié, vérifiez que le nom indiqué correspond à
celui qui est mentionné dans l'en-tête du support.
Vérifiez qu'il n'y a pas déjà sur le support de jeux de sauvegardes qui ne
seraient pas encore arrivés à expiration.
S'il y en a, abandonnez la sauvegarde.
Quand toutes ces vérifications ont été effectuées, écrasez tous les jeux
de sauvegardes présents sur le support en ne gardant que l'en-tête du
support.
Si le volume ne contient pas d'en-tête de support valide, générez-en un
avec l'option éventuelle MEDIANAME, MEDIAPASSWORD et MEDIADESCRIPTION.
Si le volume contient un en-tête de support valide, vérifiez le mot de
passe du support * et assurez-vous que le nom de support correspond au
MEDIANAME indiqué, s'il en existe un. Si les deux noms correspondent,
ajoutez le jeu de sauvegardes en gardant ceux qui existent déjà.
Si le volume ne contient pas d'en-tête de support valide, une erreur se
produit.
1. Pour être valide, il doit faire état du numéro de version MTF, et
d'autres informations d'en-tête. Si la version indiquée n'est pas prise en
charge ou pas reconnue, une erreur se produit.
2. L'utilisateur doit appartenir aux rôles de serveur ou de base de
données fixes appropriés et fournir le mot de passe de support correct
pour effectuer une opération de sauvegarde.
Remarque Pour maintenir une compatibilité ascendante, il est possible
d'utiliser le mot clé DUMP à la place de BACKUP dans la syntaxe de
l'instruction BACKUP. En outre, le mot clé TRANSACTION peut être utilisé à
la place de LOG.
Tables d'historique de sauvegarde
SQL Server contient les tables suivantes qui consignent l'historique des
activités de sauvegarde :
backupfile
backupmediafamily
backupmediaset
backupset
Lorsqu'une instruction RESTORE est effectuée, les tables historiques de
sauvegarde sont modifiées.
Considérations sur la compatibilité
Attention Les sauvegardes créées avec Microsoft® SQL Server™ 2000 ne
peuvent pas être restaurées dans une version antérieure.
Autorisations
Les autorisations BACKUP DATABASE et BACKUP LOG reviennent par défaut aux
membres du rôle de serveur fixe sysadmin et des rôles de base de données
fixes db_owner et db_backupoperator.
En outre, l'utilisateur peut spécifier des mots de passe pour un jeu de
supports, un jeu de sauvegardes ou pour les deux jeux. Lorsqu'un mot de
passe est défini sur un jeu de supports, il ne suffit pas à un utilisateur
d'être membre des rôles de serveur ou de base de données fixes appropriés
pour effectuer une sauvegarde. Il doit également fournir le mot de passe
de support. De même, la restauration n'est possible que si les mots de
passe de support et de jeu de sauvegardes corrects sont spécifiés dans la
commande de restauration.
La définition de mots de passe pour les jeux de sauvegardes et de supports
est facultative dans l'instruction BACKUP. Les mots de passe empêchent les
opérations non autorisées de restauration et d'ajouts de jeux de
sauvegardes au support par le biais des outils SQL Server 2000, mais pas
l'écrasement du support avec l'option FORMAT.
Par conséquent, les mots de passe permettent de protéger le contenu du
support contre tout accès non autorisé effectué par le biais des outils
SQL Server mais pas contre une destruction éventuelle. Les mots de passe
ne constituent pas une protection totale contre les accès non autorisés au
contenu du support car les données des jeux de sauvegardes ne sont pas
cryptées et peuvent théoriquement être analysées par des programmes conçus
à cet effet. Lorsque la sécurité est fondamentale, il est important que
les personnes non autorisées ne puissent pas accéder au support.
Spécifier un mot de passe pour des objets créés sans association de mot de
passe constitue une erreur.
BACKUP crée le jeu de sauvegardes à partir du mot de passe de jeu de
sauvegardes fourni par le biais de l'option PASSWORD. En outre, BACKUP
vérifie en principe le mot de passe de support fourni par l'option
MEDIAPASSWORD avant une opération d'écriture sur le support. La seule fois
où BACKUP ne vérifie pas le mot de passe du support est lorsqu'il formate
ce dernier, écrasant ainsi l'en-tête de support. BACKUP formate le support
uniquement :
si l'option FORMAT est spécifiée ;
si l'en-tête de support n'est pas valide et INIT est spécifié ;
si l'opération écrit dans un volume de continuation.
Si BACKUP écrit l'en-tête de support, il affecte le mot de passe de jeu de
supports à la valeur spécifiée dans l'option MEDIAPASSWORD.
Pour plus d'informations sur l'impact des mot de passes sur les option
SKIP, NOSKIP, INIT et NOINIT, voir la section Remarque.
Les problèmes de propriété et d'autorisation touchant le fichier physique
de l'unité de sauvegarde peuvent influer sur une opération de sauvegarde.
SQL Server doit être à même de lire et d'écrire sur l'unité ; le compte
sous lequel le service SQL Server est exécuté doit détenir les
autorisations d'écriture. Toutefois, sp_addumpdevice, qui ajoute une
entrée pour une unité dans les tables système, ne vérifie pas les
autorisations d'accès au fichier. De tels problèmes pour le fichier
physique de l'unité de sauvegarde peuvent n'apparaître que lorsque la
ressource physique est sollicitée au moment de la sauvegarde ou de la
restauration.
Exemple
A. Sauvegarder toute la base de données MyNwind
Remarque La base de données MyNwind sert uniquement à l'illustration de
cet exemple.
Cet exemple crée une unité de sauvegarde logique dans laquelle une
sauvegarde complète de la base de données MyNwind est placée.
-- Create a logical backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_1',
DISK ='c:Program FilesMicrosoft SQL
ServerMSSQLBACKUPMyNwind_1.dat'
-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_1
B. Sauvegarder la base de données et le journal des transactions
Dans cet exemple, deux sauvegardes sont créées : une de la base de données
complète et une autre du journal des transactions. La base de données est
sauvegardée sur une unité logique appelée MyNwind_2, et le journal sur une
unité logique appelée MyNwindLog1.
Remarque La création d'une unité logique de sauvegarde ne doit être
effectuée qu'une seule fois.
-- Create the backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_2',
'c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwind_2.dat'
--Create the log backup device.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwindLog1',
'c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwindLog1.dat'
-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_2
-- Update activity has occurred since the full database backup.
-- Back up the log of the MyNwind database.
BACKUP LOG MyNwind
TO MyNwindLog1
Julie David a écrit:
quelle est la syntaxe de cette instruction Backup database
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
news: OKQoyv80FHA.1032@TK2MSFTNGP12.phx.gbl...
Bonjour,
Julie David a écrit:
Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Dans l'aide en ligne MS, vous trouverez ...
N'utilisez que la première syntaxe avec l'option TO DISK....
BACKUP
Sauvegarde dans sa totalité une base de données, un journal de
transactions, ou encore un ou plusieurs fichiers ou groupes de fichiers.
Pour plus d'informations, voir Sauvegarde et restauration de bases de
données.
Syntaxe
Sauvegarde d'une base de données entière :
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
Sauvegarde de fichiers ou de groupes de fichiers spécifiques :
BACKUP DATABASE { database_name | @database_name_var }
< file_or_filegroup > [ ,...n ]
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
Sauvegarde du journal des transactions :
BACKUP LOG { database_name | @database_name_var }
{
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ ,] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword |
@mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] NO_TRUNCATE ]
[ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
}
< backup_device > :: > {
{ logical_backup_device_name | @logical_backup_device_name_var }
|
{ DISK | TAPE } > { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
< file_or_filegroup > :: > {
FILE = { logical_file_name | @logical_file_name_var }
|
FILEGROUP = { logical_filegroup_name |
@logical_filegroup_name_var }
}
Troncature du journal de transactions :
BACKUP LOG { database_name | @database_name_var }
{
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
}
Arguments
DATABASE
Spécifie une sauvegarde complète de la base de données. Si une liste de
fichiers et de groupes de fichiers est spécifiée, seuls ceux-ci sont
sauvegardés.
Remarque Lors d'une sauvegarde complète ou différentielle d'une base de
données, Microsoft® SQL Server™ sauvegarde une portion suffisante du
journal des transactions pour assurer la cohérence de la base de données
quand elle sera sauvegardée. Seule une sauvegarde complète peut être
opérée sur la base de données master.
{ database_name | @database_name_var }
Correspond à la base de données à partir de laquelle va être opérée la
sauvegarde du journal des transactions, c'est à dire la sauvegarde
complète ou partielle. Fourni comme variable (@database_name_var), ce nom
peut être spécifié comme la constante chaîne (@database_name_var =
database_name) ou comme une variable de type chaîne de caractères, sauf
pour les types de données ntext et text.
< backup_device >
Spécifie l'unité de sauvegarde logique ou physique à utiliser pour
l'opération de sauvegarde. Il peut s'agir d'un ou plusieurs des éléments
suivants :
{ logical_backup_device_name } | { @logical_backup_device_name_var }
Correspond au nom logique, qui doit suivre les règles applicables aux
identificateurs, de la ou des unités de sauvegarde (créées par
sp_addumpdevice) vers lesquelles la base de données est sauvegardée. S'il
est fourni en tant que variable (@logical_backup_device_name_var), le nom
de l'unité de sauvegarde peut être spécifié en tant que constante de
chaîne (@logical_backup_device_name_var = nom de l'unité de sauvegarde
logique) ou sous la forme d'une variable de type chaîne de caractères, à
l'exception des types ntext et text.
{ DISK | TAPE } > 'physical_backup_device_name' | @physical_backup_device_name_var
Permet que les sauvegardes soient créées sur l'unité de bande ou de disque
spécifié. L'unité physique spécifiée ne doit pas exister avant que
l'instruction BACKUP ne soit exécutée. Si l'unité physique existe et que
l'option INIT n'est pas spécifiée dans l'instruction BACKUP, la sauvegarde
est ajoutée à l'unité.
Lorsque vous spécifiez TO DISK ou TO TAPE, entrez le chemin d'accès
complet et le nom du fichier. Par exemple, DISK = 'C:Program
FilesMicrosoft SQL ServerMSSQLBACKUPMybackup.dat' ou TAPE =
'.TAPE0'.
Remarque Si un nom de chemin d'accès relatif est entré pour une
sauvegarde sur disque, le fichier de sauvegarde est placé dans le
répertoire de sauvegarde par défaut. Ce répertoire est défini lors de
l'installation et stocké dans la clé de registre BackupDirectory sous
KEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerMSSQLServer.
Si vous utilisez un serveur de réseau pourvu soit d'un nom UNC (Uniform
Naming Convention), soit d'une lettre de lecteur redirigé, spécifiez DISK
comme type d'unité.
Quand vous spécifiez plusieurs fichiers, vous pouvez mélanger noms (ou
variables) de fichiers logiques et noms (ou variables) de fichiers
physiques. Toutefois, toutes les unités doivent être du même type (disque,
bande ou canal de communication).
La sauvegarde sur bande n'est pas prise en charge sous Windows 98.
n
Marque de réservation indiquant la possibilité de spécifier plusieurs
unités de sauvegarde. Le nombre maximal d'unités de sauvegarde est de 64.
BLOCKSIZE = { blocksize | @blocksize_variable }
Indique, en octets, la taille maximale de bloc. Sur les systèmes Windows
NT, la valeur par défaut correspond à la taille de bloc par défaut de
l'unité. Généralement, ce paramètre n'est pas requis car SQL Server
choisit une taille de bloc appropriée pour l'unité. Sur les ordinateurs
tournant sous Windows 2000, la valeur par défaut est 65 536 (64 Ko, soit
la taille maximale prise en charge par SQL Server).
Pour DISK, BACKUP détermine automatiquement la taille de bloc appropriée
des unités de disques.
Remarque Pour transférer la sauvegarde effectuée sur un CD-ROM avant de
la restaurer à partir de celui-ci, définissez BLOCKSIZE sur 2048.
La valeur par défaut de BLOCKSIZE pour une sauvegarde sur bande est 65 536
(64 Ko). L'indication explicite d'une taille de bloc remplace la taille de
bloc sélectionnée dans SQL Server.
DESCRIPTION = { 'text' | @text_variable }
Spécifie le texte de format libre servant à décrire le jeu de sauvegardes.
La chaîne peut compter jusqu'à 255 caractères.
DIFFERENTIAL
Indique que la sauvegarde ne doit porter que sur les parties de la base de
données ou du fichier modifiées depuis la dernière sauvegarde complète.
Une sauvegarde différentielle occupe en général moins d'espace qu'une
sauvegarde complète. Utilisez cette option de façon à ne pas avoir à
effectuer toutes les sauvegardes successives du journal depuis la dernière
sauvegarde complète. Pour plus d'informations, voir Sauvegardes
différentielles de base de données et Sauvegardes différentielles de
fichiers.
Remarque Lors d'une sauvegarde complète ou différentielle, SQL Server
sauvegarde une partie du journal des transactions suffisante pour assurer
la cohérence de la base de données, une fois que celle-ci aura été
restaurée.
EXPIREDATE = { date | @date_var }
Indique la date à laquelle le jeu de sauvegardes expire et peut par
conséquent être écrasé. Si elle est fournie en tant que variable
(@date_var), cette date est spécifiée sous la forme d'une constante de
chaîne (@date_var = date), d'une variable de type chaîne de caractères (à
l'exception des types ntext et text), ou encore d'une variable de type
smalldatetime ou datetime, et elle doit suivre le format datetime système
configuré.
RETAINDAYS = { days | @days_var }
Indique le nombre de jours qui doivent s'écouler avant que le jeu de
supports de sauvegarde puisse être écrasé. S'il est fourni en tant que
variable (@days_var), sa valeur doit être un entier.
Important Si EXPIREDATE ou RETAINDAYS n'est pas spécifié, le délai
d'expiration est déterminé par le paramètre de configuration media
retention de sp_configure. Ces options empêchent seulement SQL Server
d'écraser un fichier. Le contenu des bandes peut être écrasé par d'autres
méthodes, et les fichiers sur disque peuvent être supprimés à partir du
système d'exploitation. Pour plus d'informations sur le contrôle du délai
d'expiration, voir SKIP et FORMAT dans cette rubrique.
PASSWORD = { password | @password_variable }
Définit le mot de passe utilisé avec le jeu de sauvegardes. PASSWORD est
une chaîne de caractères. Si un mot de passe est défini pour le jeu de
sauvegardes, il doit être fourni lors de chaque opération de restauration
à partir du jeu.
Important Un mot de passe pour un jeu de sauvegardes protège le contenu
de celui-ci contre tout accès non autorisé effectué par le biais des
outils SQL Server 2000, mais n'empêche pas son écrasement.
Pour plus d'informations sur l'utilisation des mots de passe, voir la
section « Autorisations ».
FORMAT
Indique que l'en-tête de support doit être écrit sur tous les volumes
utilisés pour cette opération de sauvegarde. Tout en-tête de support
préexistant est écrasé. L'option FORMAT invalide le contenu entier du
support, en ignorant tout contenu préexistant.
Important Utilisez l'option FORMAT avec prudence. Le formatage d'une
unité de sauvegarde ou d'un support rend inutilisable tout le jeu de
supports. Par exemple, si une bande appartenant à un jeu de supports
d'agrégats par bande est initialisée, tout le jeu de supports devient
inutilisable.
Si l'option FORMAT est spécifiée, SKIPet INIT sont implicitement pris en
compte par l'opération ; il n'est pas nécessaire de les spécifier
explicitement.
NOFORMAT
Indique que l'en-tête de support ne doit pas être écrit sur tous les
volumes utilisés pour cette opération de sauvegarde et ne réécrit pas
l'unité de sauvegarde, sauf si INIT est spécifié.
INIT
Indique que tous les jeux de sauvegardes doivent être écrasés mais
préserve l'en-tête de support. Si INIT est spécifié, toutes les données de
jeux de sauvegardes qui se trouvent sur l'unité concernée sont écrasées.
Le support de sauvegarde n'est pas écrasé lorsque l'une des conditions
ci-dessous est remplie :
Tous les jeux de sauvegardes présents sur le support ne sont pas encore
arrivés à expiration. Pour plus d'informations, reportez-vous aux options
EXPIREDATE et RETAINDAYS.
Le nom du jeu de sauvegardes donné dans l'instruction BACKUP, s'il est
fourni, ne correspond pas à celui du support de sauvegarde. Pour plus
d'informations, voir la clause NAME.
Utilisez l'option SKIP pour passer outre ces contrôles. Pour plus
d'informations sur les interactions entre les options SKIP, NOSKIP, INIT
et NOINIT, reportez-vous à la section Remarque, ci-dessous.
Remarque Si le support de sauvegarde est protégé par mot de passe, SQL
Server n'écrit pas sur le support, sauf si le mot de passe du support est
fourni. Ce contrôle n'est pas ignoré par l'option SKIP. Le support protégé
par mot de passe ne peut être écrasé que par une opération de reformatage.
Pour plus d'informations, reportez-vous à l'option FORMAT.
NOINIT
Indique que le jeu de sauvegardes est ajouté à l'unité de disque ou de
bande spécifiée, préservant ainsi les jeux de sauvegardes existants.
NOINIT est la valeur par défaut.
L'option FILE de la commande RESTORE permet de sélectionner le jeu de
sauvegardes approprié lors de la restauration. Pour plus d'informations,
voir RESTORE.
Si un mot de passe de support est défini pour le jeu de supports, il doit
être fourni.
MEDIADESCRIPTION = { text | @text_variable }
Indique le texte de description de format libre du jeu de supports
(maximum 255 caractères).
MEDIANAME = { media_name | @media_name_variable }
Indique le nom de support (128 caractères au maximum) du jeu de supports
contenant la sauvegarde entière. Si l'option MEDIANAME est spécifiée, le
nom indiqué doit correspondre au nom de support qui existe déjà sur le ou
les volumes de sauvegarde. Si elle n'est pas spécifiée, ou bien si
l'option SKIP l'est, aucune vérification du nom de support n'est
effectuée.
MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
Définit le mot de passe utilisé avec le jeu de supports. MEDIAPASSWORD est
une chaîne de caractères.
Si un mot de passe est défini pour le jeu de supports, il doit être fourni
lors de la création d'un jeu de sauvegardes sur le jeu de supports. En
outre, ce mot de passe doit également être fourni lors de chaque opération
de restauration à partir du jeu de supports. Le support protégé par mot de
passe ne peut être écrasé que par une opération de reformatage. Pour plus
d'informations, reportez-vous à l'option FORMAT.
Pour plus d'informations sur l'utilisation des mots de passe, voir la
section « Autorisations ».
NAME = { backup_set_name | @backup_set_var }
Nom du jeu de sauvegardes Les noms peuvent contenir jusqu'à 128
caractères. Si l'option NAME n'est pas spécifiée, le nom reste vide.
NORECOVERY
Utilisé uniquement avec BACKUP LOG. Sauvegarde la fin du journal et laisse
la base de données en état de restauration. NORECOVERY s'avère utile lors
du basculement vers une base de données secondaire ou de l'enregistrement
de la fin du journal avant une opération RESTORE.
STANDBY = undo_file_name
Utilisé uniquement avec BACKUP LOG. Sauvegarde la fin du journal et laisse
la base de données en mode lecture seule et attente. Le nom du fichier
d'annulation représente le support de stockage des modifications
d'annulation à annuler en cas d'application ultérieure d'opérations
RESTORE LOG.
Si le fichier d'annulation indiqué n'existe pas, SQL Server le crée. Si le
fichier existe, SQL Server l'écrase. Pour plus d'informations, voir
Utilisation des serveurs de secours.
NOREWIND
Indique que SQL Server conservera la bande ouverte après l'opération de
sauvegarde. NOREWIND implique NOUNLOAD. SQL Server conservera la propriété
du lecteur de bande jusqu'à ce qu'une commande BACKUP ou RESTORE soit
utilisée avec WITH REWIND.
Si une bande demeure ouverte par inadvertance, la façon la plus rapide de
la libérer consiste à utiliser la commande RESTORE suivante :
RESTORE LABELONLY FROM TAPE = <name> WITH REWIND
Une liste des bandes ouvertes peut être obtenue en interrogeant la table
sysopentapes de la base de données master.
REWIND
Indique que SQL Server libérera et rembobinera la bande. Si ni NOREWIND ni
REWIND n'est spécifié, REWIND est la valeur par défaut.
NOSKIP
Commande à l'instruction BACKUP de vérifier la date d'expiration de tous
les jeux de sauvegardes qui se trouvent sur le support, avant d'autoriser
leur écrasement.
SKIP
Désactive le contrôle de la date d'expiration et du nom habituellement
effectué par l'instruction BACKUP pour prévenir un écrasement des jeux de
sauvegardes. Pour plus d'informations, consultez la rubrique Remarque,
ci-après.
NOUNLOAD
Indique que la bande ne sera pas déchargée automatiquement du lecteur de
bande après une sauvegarde. NOUNLOAD reste valide jusqu'à ce que UNLOAD
soit spécifiée. Cette option n'est utilisée que dans le cas d'unités de
bande.
UNLOAD
Indique que la bande est automatiquement rembobinée et démontée lorsque la
sauvegarde est terminée. UNLOAD est définie par défaut lorsqu'une nouvelle
session utilisateur démarre. Elle reste définie jusqu'à ce que
l'utilisateur spécifie une option NOUNLOAD. Cette option n'est utilisée
que dans le cas d'unités de bande.
RESTART
Indique que SQL Server va redémarrer une opération de sauvegarde
interrompue. L'option RESTART permet de gagner du temps, parce qu'elle
redémarre la sauvegarde au point où elle a été interrompue. Pour
redémarrer une opération de sauvegarde spécifique, répétez toute
l'instruction BACKUP en y ajoutant l'option RESTART. L'utilisation de
l'option RESTART n'est pas obligatoire mais elle permet de gagner du
temps.
Important Cette option ne peut être utilisée que pour les sauvegardes sur
bande et pour celles qui s'étendent sur plusieurs volumes de bande. Une
opération de redémarrage ne se produit jamais sur le premier volume de la
sauvegarde.
STATS [ = percentage ]
Affiche un message à chaque fois qu'un autre percentage se termine et sert
à évaluer l'état d'avancement de l'opération. Si percentage est omis, SQL
Server affiche un message à chaque incrément de 10 pour-cent.
< file_or_filegroup >
Indique les noms logiques des fichiers ou groupes de fichiers à inclure
dans la sauvegarde de la base de données. Il est possible de spécifier
plusieurs fichiers ou groupes de fichiers.
FILE = { logical_file_name | @logical_file_name_var }
Indique le nom d'un ou de plusieurs fichiers à inclure dans la sauvegarde
de la base de données.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
Indique le nom d'un ou de plusieurs groupes de fichiers à inclure dans la
sauvegarde de la base de données.
Remarque Sauvegarde un fichier quand la taille de la base de données et
les exigences en matière de performances rendent impraticable une
sauvegarde complète de la base de données. Pour sauvegarder séparément le
journal des transactions, utilisez l'option BACKUP LOG.
Important Pour restaurer une base de données à partir de sauvegardes de
fichiers et de groupes de fichiers, il est nécessaire de fournir une
sauvegarde séparée du journal des transactions en utilisant pour ce faire
l'option BACKUP LOG. Pour plus d'informations sur les sauvegardes de
fichiers, voir Utilisation de sauvegardes de fichier.
Les sauvegardes de fichiers et de groupes de fichiers ne sont pas
autorisés si le modèle de récupération est simple.
n
Espace réservé indiquant qu'il est possible de spécifier plusieurs
fichiers et groupes de fichiers. Le nombre des fichiers ou de groupes de
fichiers n'est pas limité.
LOG
Indique que la sauvegarde ne doit porter que sur le journal des
transactions. Le journal est sauvegardé depuis la dernière sauvegarde LOG
exécutée avec succès et jusqu'à sa fin actuelle. Une fois que le journal
est sauvegardé, l'espace peut être tronqué si aucune réplication ou
transaction active ne le requiert.
Remarque Si la sauvegarde ne semble pas tronquer le journal, il est
possible qu'une transaction ouverte ancienne existe dans le journal.
L'espace de journal peut être surveillé au moyen de DBCC SQLPERF
(LOGSPACE). Pour plus d'informations, reportez-vous à Sauvegardes du
journal des transactions.
NO_LOG | TRUNCATE_ONLY
Efface la partie inactive du journal sans en faire une sauvegarde et
tronque le journal. Cette option permet de libérer de l'espace. Il n'est
pas nécessaire de spécifier une unité de sauvegarde, parce que la
sauvegarde du journal n'est pas conservée. NO_LOG et TRUNCATE_ONLY sont
synonymes.
Une fois le journal sauvegardé au moyen de l'option NO_LOG ou
TRUNCATE_ONLY, les modifications qui y sont enregistrées ne sont plus
récupérables. Pour des questions de récupération, exécutez immédiatement
BACKUP DATABASE.
NO_TRUNCATE
Permet de sauvegarder le journal lorsque la base de données est
endommagée.
Notes
Les sauvegardes de base de données ou de journal peuvent être ajoutées à
n'importe quelle unité de disque ou de bande, ce qui permet de conserver
au même emplacement physique la base de données et ses journaux de
transactions.
SQL Server recourt à un processus de sauvegarde en ligne pour permettre
qu'une base de données soit sauvegardée alors qu'elle est encore utilisée.
La liste suivante présente les opérations impossibles à réaliser pendant
la sauvegarde d'une base de données ou d'un journal de transactions :
Opérations de gestion des fichiers telles que l'instruction ALTER DATABASE
employées avec l'option ADD FILE ou REMOVE FILE ; les instructions INSERT,
UPDATE ou DELETE sont permises durant une opération de sauvegarde.
Compactage de base de données ou de fichier. Ceci comprend les opérations
Autoshrink.
Une opération de sauvegarde s'arrête si elle a démarré alors que l'une de
ces opérations était en cours. Si une opération de sauvegarde est en cours
et que l'une de ces opérations est tentée, l'opération échoue et la
sauvegarde se poursuit.
Les opérations de sauvegarde inter-plates-formes, impliquant
éventuellement des types de processeurs différents, peuvent être réalisées
tant que le classement de la base de données est pris en charge par le
système d'exploitation. Pour plus d'informations, voir Principes du
classement SQL Server.
Format de fichier de sauvegarde
Des sauvegardes SQL Server et Windows NT peuvent coexister sur une même
bande, et cela parce que le format de sauvegarde de SQL Server 2000se
conforme au format MTF (Microsoft Tape Format) ; ce format est celui
utilisé par les sauvegardes sur bande de Windows NT. Pour que
l'interopérabilité soit garantie, la bande doit être formatée par
NTBackup.
Types de sauvegarde.
Les types de sauvegarde pris en charge par SQL Server sont les suivantes :
Sauvegarde de base de données complète, qui sauvegarde la base de donnes
entière, y compris le journal des transactions.
Sauvegarde différentielle de base de données entre des sauvegardes
complètes de base de données.
Sauvegarde du journal des transactions.
Une séquence de sauvegardes du journal fournit une chaîne continue
d'informations de transactions qui permet de réaliser une récupération
ultérieure à et à partir de sauvegardes de bases de données, de fichiers
ou différentielles.
Sauvegarde de fichiers(s) ou groupe(s) de fichiers.
Utilisez BACKUP pour effectuer une sauvegarde des fichiers et de groupes
de fichiers, au lieu de procéder à une sauvegarde complète de la base de
données, quand celle-ci est impraticable à cause des contraintes de temps.
Pour sauvegarder un fichier, de préférence à la base de données complète,
définissez des procédures permettant de garantir que tous les fichiers de
la base de données seront sauvegardés régulièrement. En outre, il convient
d'effectuer des sauvegardes séparées du journal des transactions. Après
avoir restauré une sauvegarde de fichier, appliquez le journal des
transactions et procédez à la reprise de son contenu pour qu'il soit
cohérent avec le reste de la base de données.
Les unités de sauvegarde utilisées dans un jeu d'agrégats doivent toujours
l'être dans un jeu d'agrégats avec le même nombre d'unités (sauf s'il y a
eu une réinitialisation avec FORMAT). Lorsqu'une unité de sauvegarde a été
définie comme faisant partie d'un jeu d'agrégats, elle ne peut plus être
utilisée pour une sauvegarde d'unité unique, sauf si l'option FORMAT est
spécifiée. De la même façon, une unité qui contient des sauvegardes non
agrégées ne peut pas être utilisée dans un jeu d'agrégats, sauf si
l'option FORMAT est spécifiée. Utilisez l'option FORMAT pour fractionner
un jeu de sauvegardes d'agrégats.
Si ni MEDIANAME ni MEDIADESCRIPTION n'est spécifié lorsqu'un en-tête de
support est écrit, le champ d'en-tête de support correspondant à l'élément
non spécifié est vide.
BACKUP LOG ne peut pas être utilisé si le modèle de récupération est
SIMPLE. Utilisez BACKUP DATABASE.
Interactions de SKIP, NOSKIP, INIT et NOINIT
La table suivante montre comment les clauses {INIT | NOINIT} et {NOSKIP |
SKIP} interagissent.
Remarque Dans toutes ces interactions, si le support de bande est vide ou
que le fichier de sauvegarde sur disque n'existe pas, écrivez au préalable
un en-tête de support. Si toutefois le support n'est pas vide et ne
contient pas d'en-tête de support valide, signalez qu'il ne s'agit pas
d'un support MTF valide et abandonnez la sauvegarde.
INIT NOINIT
SKIP Si le volume contient un en-tête de support valide1, vérifiez le mot
de passe du support et écrasez tous les jeux de sauvegardes présents sur
le support en ne gardant que l'en-tête.
Si le volume ne contient pas d'en-tête de support valide, générez-en un
avec l'option éventuelle MEDIANAME, MEDIAPASSWORD et MEDIADESCRIPTION.
Si le volume contient un en-tête de support valide, vérifiez le mot de
passe du support et ajoutez le jeu de sauvegardes, en gardant ceux qui
existent déjà.
Si le volume ne contient pas d'en-tête de support valide, une erreur se
produit.
NOSKIP Si le volume contient un en-tête de support valide, effectuez les
vérifications suivantes :
Vérifiez le mot de passe du support.2
Si MEDIANAME a été spécifié, vérifiez que le nom indiqué correspond à
celui qui est mentionné dans l'en-tête du support.
Vérifiez qu'il n'y a pas déjà sur le support de jeux de sauvegardes qui ne
seraient pas encore arrivés à expiration.
S'il y en a, abandonnez la sauvegarde.
Quand toutes ces vérifications ont été effectuées, écrasez tous les jeux
de sauvegardes présents sur le support en ne gardant que l'en-tête du
support.
Si le volume ne contient pas d'en-tête de support valide, générez-en un
avec l'option éventuelle MEDIANAME, MEDIAPASSWORD et MEDIADESCRIPTION.
Si le volume contient un en-tête de support valide, vérifiez le mot de
passe du support * et assurez-vous que le nom de support correspond au
MEDIANAME indiqué, s'il en existe un. Si les deux noms correspondent,
ajoutez le jeu de sauvegardes en gardant ceux qui existent déjà.
Si le volume ne contient pas d'en-tête de support valide, une erreur se
produit.
1. Pour être valide, il doit faire état du numéro de version MTF, et
d'autres informations d'en-tête. Si la version indiquée n'est pas prise en
charge ou pas reconnue, une erreur se produit.
2. L'utilisateur doit appartenir aux rôles de serveur ou de base de
données fixes appropriés et fournir le mot de passe de support correct
pour effectuer une opération de sauvegarde.
Remarque Pour maintenir une compatibilité ascendante, il est possible
d'utiliser le mot clé DUMP à la place de BACKUP dans la syntaxe de
l'instruction BACKUP. En outre, le mot clé TRANSACTION peut être utilisé à
la place de LOG.
Tables d'historique de sauvegarde
SQL Server contient les tables suivantes qui consignent l'historique des
activités de sauvegarde :
backupfile
backupmediafamily
backupmediaset
backupset
Lorsqu'une instruction RESTORE est effectuée, les tables historiques de
sauvegarde sont modifiées.
Considérations sur la compatibilité
Attention Les sauvegardes créées avec Microsoft® SQL Server™ 2000 ne
peuvent pas être restaurées dans une version antérieure.
Autorisations
Les autorisations BACKUP DATABASE et BACKUP LOG reviennent par défaut aux
membres du rôle de serveur fixe sysadmin et des rôles de base de données
fixes db_owner et db_backupoperator.
En outre, l'utilisateur peut spécifier des mots de passe pour un jeu de
supports, un jeu de sauvegardes ou pour les deux jeux. Lorsqu'un mot de
passe est défini sur un jeu de supports, il ne suffit pas à un utilisateur
d'être membre des rôles de serveur ou de base de données fixes appropriés
pour effectuer une sauvegarde. Il doit également fournir le mot de passe
de support. De même, la restauration n'est possible que si les mots de
passe de support et de jeu de sauvegardes corrects sont spécifiés dans la
commande de restauration.
La définition de mots de passe pour les jeux de sauvegardes et de supports
est facultative dans l'instruction BACKUP. Les mots de passe empêchent les
opérations non autorisées de restauration et d'ajouts de jeux de
sauvegardes au support par le biais des outils SQL Server 2000, mais pas
l'écrasement du support avec l'option FORMAT.
Par conséquent, les mots de passe permettent de protéger le contenu du
support contre tout accès non autorisé effectué par le biais des outils
SQL Server mais pas contre une destruction éventuelle. Les mots de passe
ne constituent pas une protection totale contre les accès non autorisés au
contenu du support car les données des jeux de sauvegardes ne sont pas
cryptées et peuvent théoriquement être analysées par des programmes conçus
à cet effet. Lorsque la sécurité est fondamentale, il est important que
les personnes non autorisées ne puissent pas accéder au support.
Spécifier un mot de passe pour des objets créés sans association de mot de
passe constitue une erreur.
BACKUP crée le jeu de sauvegardes à partir du mot de passe de jeu de
sauvegardes fourni par le biais de l'option PASSWORD. En outre, BACKUP
vérifie en principe le mot de passe de support fourni par l'option
MEDIAPASSWORD avant une opération d'écriture sur le support. La seule fois
où BACKUP ne vérifie pas le mot de passe du support est lorsqu'il formate
ce dernier, écrasant ainsi l'en-tête de support. BACKUP formate le support
uniquement :
si l'option FORMAT est spécifiée ;
si l'en-tête de support n'est pas valide et INIT est spécifié ;
si l'opération écrit dans un volume de continuation.
Si BACKUP écrit l'en-tête de support, il affecte le mot de passe de jeu de
supports à la valeur spécifiée dans l'option MEDIAPASSWORD.
Pour plus d'informations sur l'impact des mot de passes sur les option
SKIP, NOSKIP, INIT et NOINIT, voir la section Remarque.
Les problèmes de propriété et d'autorisation touchant le fichier physique
de l'unité de sauvegarde peuvent influer sur une opération de sauvegarde.
SQL Server doit être à même de lire et d'écrire sur l'unité ; le compte
sous lequel le service SQL Server est exécuté doit détenir les
autorisations d'écriture. Toutefois, sp_addumpdevice, qui ajoute une
entrée pour une unité dans les tables système, ne vérifie pas les
autorisations d'accès au fichier. De tels problèmes pour le fichier
physique de l'unité de sauvegarde peuvent n'apparaître que lorsque la
ressource physique est sollicitée au moment de la sauvegarde ou de la
restauration.
Exemple
A. Sauvegarder toute la base de données MyNwind
Remarque La base de données MyNwind sert uniquement à l'illustration de
cet exemple.
Cet exemple crée une unité de sauvegarde logique dans laquelle une
sauvegarde complète de la base de données MyNwind est placée.
-- Create a logical backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_1',
DISK ='c:Program FilesMicrosoft SQL
ServerMSSQLBACKUPMyNwind_1.dat'
-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_1
B. Sauvegarder la base de données et le journal des transactions
Dans cet exemple, deux sauvegardes sont créées : une de la base de données
complète et une autre du journal des transactions. La base de données est
sauvegardée sur une unité logique appelée MyNwind_2, et le journal sur une
unité logique appelée MyNwindLog1.
Remarque La création d'une unité logique de sauvegarde ne doit être
effectuée qu'une seule fois.
-- Create the backup device for the full MyNwind backup.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_2',
'c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwind_2.dat'
--Create the log backup device.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwindLog1',
'c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwindLog1.dat'
-- Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_2
-- Update activity has occurred since the full database backup.
-- Back up the log of the MyNwind database.
BACKUP LOG MyNwind
TO MyNwindLog1
Julie David a écrit:quelle est la syntaxe de cette instruction Backup database
"Fred BROUARD" a écrit dans le message de
news:Bonjour,
Julie David a écrit:Bonjour,
Aidez moi pour le pb suivant :
Comme puis-je copier et installée sur un autre poste une BDD de données
SQL SERVEUR avec toutes les procédures stockées et triggers.
J'ai effectué une sauvegarde et une restauration mais seules les tables
ont été sauvegardées et pas les procédures stockées
Impossible ! Soit vous n'avez pas utilisé la commande BACKUP DATABASE,
soit vos proc stock ne se trouvent pas dans la base à l'origine !
A +
Cdlt
Juile D
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************