Bonjour,
malgré une recherche dans le forum, je ne trouve pas d'infos pour programmer automatiquement un backup de ma base SQL SERVER 2005 EXPRESS...
Qui peut m'aider ?
Merci,
Mike
Bonjour,
malgré une recherche dans le forum, je ne trouve pas d'infos pour programmer automatiquement un backup de ma base SQL SERVER 2005 EXPRESS...
Qui peut m'aider ?
Merci,
Mike
Si vous avez Entreprise Manager, utilisez un plan de maintenance.
Si vous n'avez pas EM, utilisez les procédures sp_addjob/sp_addstep/sp_addschedule... Pour programmer un travail devant être palnifié regulièrement.
Dans le travail utilisez la commande BACKUP DATABASE.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Bonjour,
Il s'agit plutôt de commencer par regarder la documentation, ce que visiblement vous n'avez pas fait.
Lorsque SQLPro parle de programmer l'exécution d'une procédure stockée dans un job, il entendait peut-être quelque chose qui ressemble à cela :
Lorsqu'enfin SQLPro parlait de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 USE maBD GO CREATE PROCEDURE PsBackupAllDatabases AS BEGIN DECLARE @SQL VARCHAR(255) DECLARE @dateToday CHAR(8) SELECT @dateToday = CONVERT(CHAR(8), GETDATE(), 112) DECLARE @cheminSauvegarde VARCHAR(255) SET @cheminSauvegarde = 'C:\Backup\' DECLARE curBD CURSOR FOR SELECT name FROM sys.databases WHERE name NOT IN ('ReportServer', 'ReportServerTempDB', 'model', 'tempDB') FOR READ ONLY DECLARE @nomBD SYSNAME OPEN curBD FETCH NEXT FROM curBD INTO @nomBD WHILE @@FETCH_STATUS = 0 BEGIN SET @SQL = 'BACKUP DATABASE ' + @nomBD + ' TO DISK = ''' + @cheminSauvegarde + @nomBD + '_' + @dateToday + '.bak''' + ' WITH INIT, SKIP, STATS = 100' --PRINT @SQL EXEC @SQL FETCH NEXT FROM curBD INTO @nomBD END DEALLOCATE curBD END
Il entendait toujours que vous regardiez la documentation :sp_addjob/sp_addstep/sp_addschedule.
- sp_add_job
- sp_add_jobstep
- sp_add_schedule
qui vous permettent respectivement de :
- créer un job
- y ajouter des étapes
- le planifier
Mais vous pouvez aussi vous en "passer" en utilisant SQL Server Management Studio (SSMS):
- Connectez-vous avec SSMS à l'instance SQL Server sur laquelle vous souhaitez réaliser les sauvegardes
- Ouvrez l'explorateur d'objets si ce n'est pas déjà fait (sinon vous le trouverez sous le menu "Affichage")
- Déployez la node "Agent SQL Server"
- Déployez la node "Travaux"
- Cliquez-droit sur cette node puis choisissez "Nouveau travail"
- Dans la page "Général", spécifiez le nom de votre job
- Dans la page "Etapes", cliquez sur "Nouveau", nommez votre étape, et dans la saisie commande écrivez EXEC maBD.dbo.PsBackupAllDatabases, puis validez.
- Dans la page "Planifications", cliquez sur "Nouvelle", donnez lui un nom, choisissez la périodicité, par exemple "Quotidienne", tous les 1 jours, une fois le 08:00:00 pour 8h, pas de date de fin.
Validez le tout, et voilà, votre job est créé.
Vous pouvez le tester (vous le voyez apparaître sous la node "Travaux") en cliquant-droit dessus puis en choisissant "Démarrer le travail à l'étape ...".
Vous pouvez aussi le scripter (pour le déployer par exemple sur d'autres machines) en cliquant-droit sur celui-ci, puis en choisissant "Générer un script du travail en tant que ... " puis "CREATE TO ...".
Comme en l'occurrence nous n'avons qu'une seule étape, le travail démarrera directement.
Vous pouvez aussi exécuter un plan de maintenance, en allant dans la node "Gestion" puis en choisissant "Plans de maintenance", et par clic-droit "Nouveau plan de maintenance", et en faisant glisser je suppose la tâche "Tâche sauvegarder la base de données", mais mes connaissances s'arrêtent là.
Notez qu'avant d'établir toute stratégie de sauvegarde, vous devez effectuer un choix dans le mode de récupération de votre base de données.
Celui-ci influe sur la façon dont vous allez gérer les sauvegardes.
Là c'est encore dans la documentation, et il y en a à lire ...
Si vous ne comprenez pas tout mais que vous avez fait le petit effort de le lire, nous vous aiderons
Tout ça pour dire que si vous aviez cherché un petit peu, vous auriez trouvé.
SQLPro a, à juste titre, supposé que vous aviez déjà cherché et que vous ne trouviez pas le moyen de réaliser des sauvegardes.
@++
Bonjour à tous,
Je me permet de faire remonter ce post
car en fait, dans les versions EXPRESS de sql server, l'agent SQL n'est pas disponible, donc pas de jobs :s
Est-ce que quelqu'un a déjà contourné ce problème, fait un dev ou utilisé un outil tiers ?
Merci d'avance de vos réponses
Vous pouvez faire la même chose en utilisant le planificateur de tâches avec Windows + la commande SQLcmd
++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager