Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copie d'une BDD

4 réponses
Avatar
Julie David
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

4 réponses

Avatar
Fred BROUARD
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 ***********************
Avatar
Julie David
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 ***********************



Avatar
Fred BROUARD
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 ***********************
Avatar
Julie David
Merci bcp




"Fred BROUARD" a écrit dans le message de news:
ukdl0m%
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 ***********************