المثال مكتوب بالأكسس + VB.NET
أولا:
تحتاج 3 براميترات...
الأول: مفتاح الإتصال بقاعدة البيانات SQLServer
ثانياً: اسم الباك أب لقاعدة البيانات
ثالثاً: مسار حفظ الباك أب
Option Compare Database
Private Sub Backup_Click()
Dim BAK_File As String
Dim SQLConnectionString As String
Dim DatabaseBackupName As String
Dim DatabaseBackupPath As String
Dim Parameters As String
BAK_File = CurrentProject.Path + "\BAK.exe"
SQLConnectionString = "Data Source=.\SEMICOLONSQL;Persist Security Info=True;Database=AlraedDb;User id=sa;password=123@a;"
DatabaseBackupName = "Backup"
DatabaseBackupPath = "E:"
DatabaseName = "AlraedDb"
Parameters = SQLConnectionString & "," & DatabaseBackupName & "," & DatabaseBackupPath & "\" & "," & DatabaseName
Call Shell(BAK_File & " " & """" & Parameters & """", vbNormalFocus)
End Sub
سورس ملف الـ VB.NET
Imports System.Data.SqlClient
Module BAK
Sub Main()
'c0ded bY: SEMO.Pa3x
'date: 23-5-2021 : 05:01 PM
For Each arg As String In My.Application.CommandLineArgs
Dim argArray() As String = Split(arg, ",")
'vars to split args
Dim SQLConnectionString As String = argArray(0)
Dim DatabaseBackupName As String = argArray(1) & " " & DateTime.Now.ToString("yyyy-MM-dd-HH-mm tt")
Dim DatabaseBackupPath As String = argArray(2)
Dim DatabaseName As String = argArray(3)
Using con = New SqlConnection(SQLConnectionString)
'open connection
con.Open()
'check connection is open ?
If con.State = ConnectionState.Open Then
'check connection is open ?
Dim str As String = "backup database " & DatabaseName & " to disk='" & DatabaseBackupPath & DatabaseBackupName & ".BAK' WITH INIT"
Using cmd = New SqlCommand(str, con)
cmd.ExecuteNonQuery()
End Using
con.Close()
End If
End Using
Next
End Sub
End Module
مدة العمل ( 3 ساعات ) وأنا أكتب الأكواد
Backup_By_SEMO_Pa3x.rar