Ο Παρακάτω κώδικας είναι σέ VB6 και δέν είναι δύσκολο να προσαρμοστεί σέ .ΝΕΤ ή Delphi
'Έχουμε ένα progressBar=DBProgress όπου πριν ξεκινήσει η διαδικασία BackUp ή Restore δίνουμε το value=0
'Παρακάτω είναι ο κώδικας ελπίζω να είναι κατανοητός
private WithEvents oSQLServer As SQLDMO.SQLServer
private WithEvents oCurBackup As SQLDMO.Backup
private WithEvents oCurRestore As SQLDMO.Restore
Private Sub Form_Load()
Set oSQLServer = New SQLServer
Set oCurBackup = New Backup
Set oCurRestore = New Restore
end sub
private sub BeginBackUp()
oCurBackup.Database = "Όνομα Βάσης"
oCurBackup.TruncateLog = SQLDMOBackup_Log_Truncate
oCurBackup.Devices = "Όνομα Device"
' To OptReplace είναι ένα CheckBox το οποίο μας δηλώνει άν Θέλουμε να Διαγράψουμε τα προηγούμενα BackUp στο Device ή να κανουμε Append
If OptReplace.Value = True Then
oCurBackup.Initialize = True
ElseIf Optadd.Value = True Then
oCurBackup.Initialize = False
End If
oCurBackup.PercentCompleteNotification = 1
oCurBackup.BackupSetName ="Όνομα Backup"
oCurBackup.SQLBACKUP oSQLServer
end sub
Private Sub BeginRestore()
oCurRestore.PercentCompleteNotification = 1
oCurRestore.Database = "Όνομα Βάσης"
oCurRestore.Devices = "Όνομα Device"
oCurRestore.FileNumber = 1 'Ο Αριθμός του BackUp στο Device
oCurRestore.SQLRestore oSQLServer
end sub
'Εδώ πιάνεις το Percent όταν κάνεις Backup Προσοχή το ποσοστό έρχεται κατά 10,20,30....κ.λ.π
Private Sub oCurBackup_PercentComplete(ByVal Message As String, ByVal Percent As Long)
If Message <> "" Then
DBProgress.Value = Percent
DoEvents
End If
End Sub
'Εδώ πιάνεις το Percent όταν κάνεις Restore Προσοχή το ποσοστό έρχεται κατά 10,20,30....κ.λ.π
Private Sub oCurRestore_PercentComplete(ByVal Message As String, ByVal Percent As Long)
If Message <> "" Then
DBProgress.Value = Percent
DoEvents
End If
End Sub
'Τα υπόλοιπα Κομμάτια του κώδικα που χρειάζεται το SQLDMO δέν τα βάζω γιατί Ζήτησες μόνο σέ ποιά κομμάτια πιάνεις το Percent όταν κάνεις BackUp ή Restore
Ιωάννης Μανουσάκης