تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كل عام وانتم بخير ... محتاج كود نسخ قاعدة البيانات تلقائيا
#1
Heart 
السلام عليكم ورحمة الله وبركاته ...



Heart كل عام وانتم بخير . ورمضان كريم للجميع Heart



احتاج الى كود لعمل نسخة احتياطية بشكل يومي وتلقائي قاعدة البيانات sql server . ولكم جزيل الشكر .
الرد
تم الشكر بواسطة:
#2
تفضل هذا الكود :

كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New SqlClient.SqlConnection("Data Source=(Local);Initial Catalog=" & DBName & ";Persist Security Info=True;User ID=MyUserName;Password=MyPassword")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New SqlClient.SqlDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub
الرد
#3
(07-05-19, 02:03 PM)asemshahen5 كتب : تفضل هذا الكود :

كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New SqlClient.SqlConnection("Data Source=(Local);Initial Catalog=" & DBName & ";Persist Security Info=True;User ID=MyUserName;Password=MyPassword")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New SqlClient.SqlDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub
كيف تكون الطريقة اخوي عاصم لو كانت قاعدة البينات أكسس.كيف يكون النسخ كل يوم بارك الله فيك و رمضان طيب و كريم
الرد
تم الشكر بواسطة:
#4
SQL الي OLEDB في الكود الموجود.
الرد
#5
Heart 
(07-05-19, 02:03 PM)asemshahen5 كتب : تفضل هذا الكود :

كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New SqlClient.SqlConnection("Data Source=(Local);Initial Catalog=" & DBName & ";Persist Security Info=True;User ID=MyUserName;Password=MyPassword")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New SqlClient.SqlDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub

أخي الغالي . اسف على ازعاجك . هل بالامكان وضعها في مثال عملي لاني حاولت اطبقها ولم يتنفذ لي . وكيف احدد الوقت الذي يتم فيه النسخ . تحياتيHeart
الرد
تم الشكر بواسطة:
#6
(07-05-19, 02:56 PM)abdullhadi999 كتب :
(07-05-19, 02:03 PM)asemshahen5 كتب : تفضل هذا الكود :

كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New SqlClient.SqlConnection("Data Source=(Local);Initial Catalog=" & DBName & ";Persist Security Info=True;User ID=MyUserName;Password=MyPassword")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New SqlClient.SqlDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub

أخي الغالي . اسف على ازعاجك . هل بالامكان وضعها في مثال عملي لاني حاولت اطبقها ولم يتنفذ لي . وكيف احدد الوقت الذي يتم فيه النسخ . تحياتيHeart

السّلام عليكم و رحمة الله و بركاته
إضافة لما تكرّم به أخي الكريم asemshahen5 .. جزاه الله خيرا
مثال متكامل يمكن الإستفادة منه بشكل كبير لما تريد القيام به إن شاء الله

تحياتي
الرد
#7
أخي الغالي هذا الكود ينفذ عد تشغيل البرنامج في حدث اللود يتحقق اذا كان هناك نسخة إحتياطية بتاريخ اليوم يكمل إقلاع البرنامج إذا لم يكن هناك نسخة إحتياطية يقوم بعمل نسخة إحتياطية و يكمل تحميل البرنامج أي لا يوجد وقت محدد لعمل النسخة فقط عند تشغيل البرنامج .

بالنسبة لقواعد البيانات أكسيس :

كود :
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       If IO.File.Exists(Application.StartupPath & "\MyDatabase.accdb") Then
           Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".backup"
           Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
           Dim DBName As String = Application.StartupPath & "\MyDatabase.accdb"
           If Not IO.File.Exists(FileBak) Then
               FileCopy(DBName, FileBak)
               MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
           End If
       End If
   End Sub
وهذا SQL الى OLEDB :
كود :
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New OleDb.OleDbConnection("Provider=SQLNCLI11;Data Source=(Local);Persist Security Info=True;Persist Security Info=True;User ID=MyUserName;Password=MyPassword;Initial Catalog=Test")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New OleDb.OleDbDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub
الرد
#8
Heart 
(07-05-19, 04:23 PM)asemshahen5 كتب : أخي الغالي هذا الكود ينفذ عد تشغيل البرنامج في حدث اللود يتحقق اذا كان هناك نسخة إحتياطية بتاريخ اليوم يكمل إقلاع البرنامج إذا لم يكن هناك نسخة إحتياطية يقوم بعمل نسخة إحتياطية و يكمل تحميل البرنامج أي لا يوجد وقت محدد لعمل النسخة فقط عند تشغيل البرنامج .

بالنسبة لقواعد البيانات أكسيس :

كود :
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       If IO.File.Exists(Application.StartupPath & "\MyDatabase.accdb") Then
           Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".backup"
           Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
           Dim DBName As String = Application.StartupPath & "\MyDatabase.accdb"
           If Not IO.File.Exists(FileBak) Then
               FileCopy(DBName, FileBak)
               MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
           End If
       End If
   End Sub
وهذا SQL الى OLEDB :
كود :
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New OleDb.OleDbConnection("Provider=SQLNCLI11;Data Source=(Local);Persist Security Info=True;Persist Security Info=True;User ID=MyUserName;Password=MyPassword;Initial Catalog=Test")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New OleDb.OleDbDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub

اسعدك الله في هذه الايام الفضيلة انت ومن تحب . زبطت معايه . شكرا 

(07-05-19, 03:30 PM)عبد العزيز البسكري كتب :
(07-05-19, 02:56 PM)abdullhadi999 كتب :
(07-05-19, 02:03 PM)asemshahen5 كتب : تفضل هذا الكود :

كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New SqlClient.SqlConnection("Data Source=(Local);Initial Catalog=" & DBName & ";Persist Security Info=True;User ID=MyUserName;Password=MyPassword")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New SqlClient.SqlDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub

أخي الغالي . اسف على ازعاجك . هل بالامكان وضعها في مثال عملي لاني حاولت اطبقها ولم يتنفذ لي . وكيف احدد الوقت الذي يتم فيه النسخ . تحياتيHeart

السّلام عليكم و رحمة الله و بركاته
إضافة لما تكرّم به أخي الكريم asemshahen5 .. جزاه الله خيرا
مثال متكامل يمكن الإستفادة منه بشكل كبير لما تريد القيام به إن شاء الله

تحياتي
الف شكر لك ياستاذنا الكبير عبدالعزيز . شرفت الموضوع بردك الجميل .
الرد
#9
(07-05-19, 09:17 PM)abdullhadi999 كتب :
(07-05-19, 04:23 PM)asemshahen5 كتب : أخي الغالي هذا الكود ينفذ عد تشغيل البرنامج في حدث اللود يتحقق اذا كان هناك نسخة إحتياطية بتاريخ اليوم يكمل إقلاع البرنامج إذا لم يكن هناك نسخة إحتياطية يقوم بعمل نسخة إحتياطية و يكمل تحميل البرنامج أي لا يوجد وقت محدد لعمل النسخة فقط عند تشغيل البرنامج .

بالنسبة لقواعد البيانات أكسيس :

كود :
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       If IO.File.Exists(Application.StartupPath & "\MyDatabase.accdb") Then
           Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".backup"
           Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
           Dim DBName As String = Application.StartupPath & "\MyDatabase.accdb"
           If Not IO.File.Exists(FileBak) Then
               FileCopy(DBName, FileBak)
               MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
           End If
       End If
   End Sub
وهذا SQL الى OLEDB :
كود :
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New OleDb.OleDbConnection("Provider=SQLNCLI11;Data Source=(Local);Persist Security Info=True;Persist Security Info=True;User ID=MyUserName;Password=MyPassword;Initial Catalog=Test")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New OleDb.OleDbDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub

اسعدك الله في هذه الايام الفضيلة انت ومن تحب . زبطت معايه . شكرا 

(07-05-19, 03:30 PM)عبد العزيز البسكري كتب :
(07-05-19, 02:56 PM)abdullhadi999 كتب :
(07-05-19, 02:03 PM)asemshahen5 كتب : تفضل هذا الكود :

كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim FileBak As String = "D:\MyBackup\Backup" & Today.ToString("dd-MM-yyyy") & ".bak"
       Dim DESCRIPTIONXT As String = "نسخ تلقائي يومي"
       Dim DBName As String = "TestDB"
       If Not IO.File.Exists(FileBak) Then
           Dim Con As New SqlClient.SqlConnection("Data Source=(Local);Initial Catalog=" & DBName & ";Persist Security Info=True;User ID=MyUserName;Password=MyPassword")
           Dim SQLStr As String = "BACKUP DATABASE " & DBName & " TO  DISK = N'" & FileBak & "' WITH  DESCRIPTION = N'" & DESCRIPTIONXT & "', NOFORMAT, NOINIT,  NAME = N'" & DBName & "', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
           Dim da As New SqlClient.SqlDataAdapter(SQLStr, Con)
           Dim dt As New DataTable
           da.Fill(dt)
           MsgBox("تمت عملية النسخ الاحتياطي بنجاح")
       End If
   End Sub

أخي الغالي . اسف على ازعاجك . هل بالامكان وضعها في مثال عملي لاني حاولت اطبقها ولم يتنفذ لي . وكيف احدد الوقت الذي يتم فيه النسخ . تحياتيHeart

السّلام عليكم و رحمة الله و بركاته
إضافة لما تكرّم به أخي الكريم asemshahen5 .. جزاه الله خيرا
مثال متكامل يمكن الإستفادة منه بشكل كبير لما تريد القيام به إن شاء الله

تحياتي
الف شكر لك ياستاذنا الكبير عبدالعزيز . شرفت الموضوع بردك الجميل .

تسلم يا غالي .. ملف آخر قمت بتجربته .. و يعمل بكفاءة .. فقط غير ما يجب تغييره واحذف إن شئت ما لا يلزمك واترك فقط النسخ الإحتياطي اليومي ..
تحياتي


الملفات المرفقة
.rar   عمل باكب اوتوماتيك.rar (الحجم : 195.71 ك ب / التحميلات : 58)
الرد
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو
#10
السّلام عليكم و رحمة الله و بركاته
أخي الكريم " عبد الهادي "
إضافة لما طرحه السادة الأفاضل بارك الله فيهم .. و إضافة للملفات المرفقة
قمت بتبسيط الأمر و الفكرة لك لأقصى ما تتخيّل .. فقط قم باستبدال كود زر الأمر لديك بكود النسخ الإحتياطي
طبعا مع إضافة أكواد الحفظ و التعديل و الحذف البديهية المتعارف عليها
رمضان كريم كل سنة و أنت و كل الإخوة بمليون خير
تحياتي


الملفات المرفقة
.rar   WindowsApplication4.rar (الحجم : 111.73 ك ب / التحميلات : 46)
الرد



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم