Un problem avec la creation du backup d une base de données

cs_solidusse Messages postés 9 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 6 août 2010 - 16 sept. 2009 à 05:36
cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 - 17 sept. 2009 à 10:22
Bonjour tous le monde
j aimerai bien trouver quelqu'un qui pourrai m aider dans mon problème
j ai une base de données pour la quelle je veux créer un backup avec la SMO dans VB.net 2008 .
j utilise le code suivant et tous marche bien :

Dim srv As Server
srv = New Server(".\sqlexpress")
srv.ConnectionContext.LoginSecure = False
srv.ConnectionContext.Login = "sa"
srv.ConnectionContext.Password = "123"

Dim db As Database
db = srv.Databases("Assur_maladie")
Dim recoverymod As Integer
recoverymod = db.DatabaseOptions.RecoveryModel
'Define a Backup object variable.
Dim bk As New Backup
'Specify the type of backup, the description, the name, and the database to be backed up.
bk.Action = BackupActionType.Database

bk.BackupSetDescription = "Full backup of Assur_maladie"
bk.BackupSetName = "Assur_maladie Backup"
bk.Database = "Assur_maladie"
Dim bdi As BackupDeviceItem
bdi = New BackupDeviceItem("Assur_maladie_backup", DeviceType.File)

bk.Devices.Add(bdi)
bk.Incremental = False
bk.LogTruncation = BackupTruncateLogType.Truncate
bk.SqlBackup(srv)

MsgBox("Sauvegarde des Données réussi")

sauf que j ai remarqué un problème
quand j exécute le code le backup n écrase pas le fichier précèdent mais il le laisse mais il augmente sa taille j aimerai bien que quelqu'un pourrai m aider a trouver une solution a ce problème (soit suppression du fichier backup avant de créer un nouveau (vous voyer ce que je veux dire )) et merci pour votre aide

1 réponse

cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 1
17 sept. 2009 à 10:22
Salut,

Avant de faire le backup essaies de supprimer l'ancien fichier avec cette ligne :

My.Computer.FileSystem.DeleteFile("<chemin de ton ancien fichier de backup>")

Sinon, tu peux faire autre chose (qui ressemble plus à de la bidouille), c'est d'ajouter la date en fin de fichier du genre :

bk.BackupSetName = "Assur_maladie Backup " & Date.Now.Day & Date.Now.Month & Date.Now.Year

(Je n'ai pas testé mais ça devrait donner un truc du genre Assur_maladie Backup DDMMYYYY, du coup le nom de fichier sera différent et il en créera un automatiquement !)

Tiens moi au courant
0
Rejoignez-nous