Bonjour tout le monde,
Je vais vous expliquer mon problème, je fais une appli qui gère des bases de données de type SQL Server 2005. Sur mon ancien ordinateur, tout fonctionnais impécable, mais lorsqu'il m'a honteusement laché (carte graphique HS), j'ai du en racheter un et refaire mon install. Je n'ai aps changer d'OS (Win Xp).
Après avoir réinstaller VB Express, j'ai voulu relancer mes applis pour vérifier leur fonctionnement et là quand je fais un backup ou un restore j'ai un message d'erreur bizarre:
'Echec de sauvegarde pour serveur Workz\Sqlexpress, une erreur s'est produite lors d'une transaction Transact SQL. Impossible d'ouvrir l'unité de sauvegarde : Erreur5 (accès refusé) du système d'exploitation.'
Est ce déja arrivé à quelqu'un ? Ou quelqu'un aurais une piste en sachant que j'ai déja vérifié si les bases sont présents et si les chemins d'accès sont bons et y a pas de problème de ce coté.
Edit : j'ai changer l'adresse de sauvegarde et cela mets la même erreur.
Voici mon code :
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
37
38
39
40 Public Function Backup(ByVal nombase As String) Dim etatbackup As Boolean = False 'Backup de la base Try Dim monServeur As New Server(Environment.MachineName & "\SQLEXPRESS") Dim maSauvegarde As New Backup ' Instanciation d'un objet SMO.Backup qui va nous permettre de réaliser notre backup 'maSauvegarde.Incremental = True Dim adresse As String = Application.StartupPath & "\Backup\" & nombase & ".bak" 'Dim adresse As String = "C:\" & nombase & ".bak" maSauvegarde.Action = BackupActionType.Database ' Définition du type d'action de sauvergarde maSauvegarde.Database = nombase ' Choix du périph et de la destination de la sauvegarde maSauvegarde.Devices.AddDevice(adresse, DeviceType.File) ' Réalisation de la sauvegarde maSauvegarde.SqlBackup(monServeur) 'Vérification de présence If File.Exists(adresse) Then 'Si un backup est déja présent If MessageBox.Show("Un backup de cette base est déja présent, souhaitez vous le remplacer?", "Backup option", _ MessageBoxButtons.YesNo, MessageBoxIcon.Question) _ = DialogResult.Yes Then 'On demande à l'utilisateur ce qu'il souhaite faire, s'il veux remplacer File.Delete(adresse) 'on supprimer l'ancien bacup maSauvegarde.SqlBackup(monServeur) 'on crée le nouveau backup Else 's'il ne veut pas le remplacer Return etatbackup 'on quitte la fonction End If End If Catch ex As SmoException MessageBox.Show("Le backup n'a pas été effectif, ceci est du à :" & vbCrLf & ex.ToString()) End Try Return etatbackup End Function
Partager