Lancer une sauvegarde d'une base SQL serveur depuis VB

kirevam Messages postés 3 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 20 janvier 2005 - 20 janv. 2005 à 16:01
cs_RJMS Messages postés 6 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 6 novembre 2007 - 13 sept. 2005 à 12:35
Bonjour a tous

Je cherche des infos pour effectuer une sauvegarde d'une base SQL Serveur depuis un programme vb6.

Il semble qu'il faut utliser les fonctions "BACKUP DATABASE" ou "RESTORE DATABASE" mais comment les mettre en place :
- Dans une requete SQL, stocké dans une commande : ça passe pas avec mes essai , une idée pour m'eclairer
- Dans une procedure stockée : ça passe pas non plus

Voici ce que j'ai trouvée dans l'aide SQL Serveur :

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 } ]

merci de votre aide

yannick

4 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 janv. 2005 à 09:57
Salut,

J avais essayer moi aussi de lancer des backup de base de donnees en passant par ses fonctions mais j ai vite arreter car je n ai jamais reussi et car j ai trouve ca

Microsoft SQLDMO Object Library.

Cette reference te permet de pouvoir utiliser depuis ton programme VB les objets suivants

- SQLServer
- SQLDMO.Backup
- SQLDMO.Restore

Voila essaie de regarder si ca peut t aider.

@+
Julien
-----------------------------------------------------------
Essaie ca sinon on trouvera autre chose
-----------------------------------------------------------
0
cs_RJMS Messages postés 6 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 6 novembre 2007
13 sept. 2005 à 12:30
dans la section déclaration d'un module fe form

Insère ceci

Dim WithEvents varBak As SQLDMO.Backup2

' Ceci va créer trois événements pour cet objet
' Dans une procédure click d'un bouton insère ceci

Dim varBakVrai As SQLDMO.Backup2
Set varBakVrai = New SQLDMO.Backup2
Set varBak = varBakVrai


Dim Serveur As SQLDMO.SQLServer2 'Crée une instance de SQLServer
Set Serveur = New SQLDMO.SQLServer2


Serveur.Connect srv, usr, pss 'Connexion au serveur

varBakVrai.Database = "Nom de la base de données"
varBakVrai.Files = "[Chemin du fichier de sauvegarde]"

varBakVrai.SQLBackup Serveur ' Appelles la méthode SQLBackup du Serveur SQL que tu as instancié

' Dans les trois événements créés par la déclaration en haut, insère ceci

Private Sub varBak_Complete(ByVal Message As String)
Exit Sub
End Sub


Private Sub varBak_NextMedia(ByVal Message As String)
Exit Sub
End Sub


Private Sub varBak_PercentComplete(ByVal Message As String, ByVal Percent As Long)
PRG.Value = Percent
End Sub

PRG étant un progressbar

-------------
Cependant si tu veut insister sur l'exécution d'un script, à partir de l'objet serveur que tu as crée, appelle la méthode ExecuteImmediate avec comme argument tout script SQL que tu puisse imaginer et tu verras la magie

-------------
Pourvu que je n'arrive pas trop tard pour t'aider vu que je vis à MADAGASCAR
Trop loin
Tchao ! RIJA RABE
0
cs_RJMS Messages postés 6 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 6 novembre 2007
13 sept. 2005 à 12:35
PS :

Fais de même pour la Restore
0
cs_RJMS Messages postés 6 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 6 novembre 2007
13 sept. 2005 à 12:35
PS :

Fais de même pour la Restore
0
Rejoignez-nous