تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كل عام وانتم بخير ... محتاج كود نسخ قاعدة البيانات تلقائيا
#21
السلام عليكم و رحمة الله و بركاته
رمضان مبارك ..
أخي الكريم " عاطف خلف " ..
كدردشة برمجية أخويّة .. و من وجهة نظري .. و هذا الذي أعمل به .. و قد أكون مخطئًا بطبيعة الحال
قصة النسخ الإحتياطي كل يوم جمعة أو كل يوم سبت أو أحد .. بالنسبة لي غير منطقية تماما
ما أقوم به دومًا .. 
هو النسخ الإحتياطي المستمر أثناء العمل على المشروع .. كل دقيقة .. يقوم البرنامج بشكل تلقائي بعمل نسخة إحتياطية .. لو إشتغلت 2 ساعتيْن ستكون لدي تلقائيا 120 نسخة .. طبعا يمكن تغييرها إلى 5 أو 10 دقائق مثلا 
كل ما أنا شغال على المشروع .. أدخل بيانات و أعدّل و أحذف .. إذن
النسخة ب 5 دقايق و ال ( الحسّابة بتحسبْ )
عند الإنتهاء من العمل .. و بعد الإطمئنان أنّ لا عائق ظهر .. و لا تيّار كهربائي إنقطع
أقوم يدويا .. و يمكن أن تكون برمجيا  بمسح كل النسخ الإحتياطية و الإحتفاظ فقط بالأخيرة حتى لا أرهق الهارد ديسك و مسحها أيضا من سلة المهملات من أجل تخفيف الحجم
ما فائدة .. أشتغل لأيّام .. ل 6 أيام .. و النسخة الإحتياطية تكون فقط باليوم السابع .. أظنها مغامرة بالمعلومات لو كانت مهمة
و أخيرا .. قد تكون نسختك الإحتياطية بعد ربما 15 أو 20 يوم .. لأنّك ببساطة لسبب أو لظرف ما .. قد لا تفتح مشروعك في ذلك اليوم المبرمج .. و بالتالي ستضيع تلك النسخة الإحتياطية و التي لن تكون إلا من خلال عملك أثناء الرين تايمْ
تحياتي و احتراماتي
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , elgokr , momiana1
#22
ما  زلت منتظر التعديل
الرد }}}
تم الشكر بواسطة:
#23
(11-05-19, 08:06 PM)atefkhalf2004 كتب : ما  زلت منتظر التعديل


اخى الفاضل لا اعلم لماذا كل هذه الردود

والاراء لنفس النقطة وعدم قراءة جميع الردود جيداً
وكذلك اذا كنت انت نفس العضوية لصاحب الموضوع او لا
وهذا يعنى انك قمت بعمل باكثر من عضوية على المنتدى

على اى حال الخلاصة بهذا الرابط

فهو يحتوى على جميع ما تريده
لقاعدة بيانات MS Sql  وكذلك MS Access

سبق واشار اليه اخى الفاضل عبد العزيز البسكري

اتمنى مراجعة الردود لكل ما ساهم وشارك جيداً
واجعل الامر تعلم وليس كود نسخ ولصق 
ليفعل ما تريده بدون اى تعب او محاولة فى الاختبار وتعديل الكود
فكل من الاخوة التى شاركت بكود او بمشروع
فهو ارهق نفسه لمساعدتك لتتعلم بما يقدمه من مساعدة
وكذلك ليكتسب اجراً عند الله فلا تجعل مجهود الغير يذهب بلا معنى

وكل عام وانت بخير

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#24
فعلا انا هو 
لكن
انا اريد  عمل نسخ احتياطي  كل  2 او 3 ساعة  يوميا
كيف يتم هذا
وهذا طلبي في الموضوع السابق  والحالي
لانه في حالة تهنيج الجهاز  او  اي سبب يكون الفاقد اقل ما يمكن
هذا الخوف ناتج من تجارب سابقة

او ما الحل من وجهة نظركم
الرد }}}
تم الشكر بواسطة: elgokr
#25
السلام عليكم و رحمة الله و بركاته
شكري و تقديري أخي الغالي ELGOKR على لطفك و لطف كلامك .. و مساعتك للجميع بدون كلل أو ملل ..
جزاك الله خير الجزاء و زادها بموازين حسناتك إن شاء الله
[b]و بعيدا عن منطق .. ( عنزة و لو طارتْ )[/b]
هذا مثال آخر .. و فكرة بسيطة بساطة معلوماتي .. لروّاد المنتدى و قرّاء الموضوع .. من أجل أخذ نسخة إحتياطية كل دقيقة أو بالتغيير لجعله كل ساعة أو حتى كل 20 ساعة ..
تحياتي


الملفات المرفقة
.rar   النسخ الإحتياطي التلقائي كل دقيقة أو كل ساعة.rar (الحجم : 95.98 ك ب / التحميلات : 246)
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: asemshahen5 , elgokr , ابراهيم ايبو , nadher732
#26
(11-05-19, 10:23 PM)atefkhalf2004 كتب : فعلا انا هو 
لكن
انا اريد  عمل نسخ احتياطي  كل  2 او 3 ساعة  يوميا
كيف يتم هذا
وهذا طلبي في الموضوع السابق  والحالي
لانه في حالة تهنيج الجهاز  او  اي سبب يكون الفاقد اقل ما يمكن
هذا الخوف ناتج من تجارب سابقة

او ما الحل من وجهة نظركم


اخى الحبيب حالات التهنيج الجهاز

وفقدان البيانات وما شبه يرجع الامر لحالة الاستخدام من المستخحدم
وكذلك لحالة امكانيات الجهاز وحجم استهلاك البرنامج من موارد الجهاز

ومن الخطاء الكبير جداً من يقوم بعمل نسخة احتياطية كل وقت لنفس اليوم
وهذا الخطاء سيسبب فى فقدان البيانات فعلياً وليس حل المشكلة

لان عند اتمام سحب النسخة الاحتياطية يتم قطع الاتصال كلياً لخدمة Sql
فهنا اذا كان احد المستخدمين كان يقوم بعمل اضافة او تعديل وما شبه
سيكون فى حالة عدم العمل وقد يفقد كل ما كان يفعله ويعيده من جديد

والسبب هو عدم امكانية البرنامج من الوصول لقاعدة البيانات
لان قاعدة البيانات تم اخذ امر بعمل نسخة احتياطية وخلال ده بيتم قطع الاتصال كلياً

ودائماً انا وكل من تعلمنا منهم على مدار السنين
نقول نفس الجملة وهى
اخد اى نسخة احتياطية تكون بنهاية العمل / الدوام او ببداية العمل
وهو سحب نسخة تلقائي كل يوم مرة واحدة او اثنين فى بداية العمل وبنهاية العمل

ويتم اذا كان تلقائي
او من خلال عند فتح او اغلاق المسؤل الرئيسيى لحسابه
فمثلاً عند فتح المسؤل او اى موظف يعمل على البرنامج يتم سحب تلقائي نسخة احتياطية
مباشر بتاريخ اليوم
ويتم ذلك بكود فى اللود بالتحقق بوجود ملف باسم تاريخ اليوم للنسخة الاحتياطية
اذا لم يجد الملف يقوم بتنفيذ كود النسخة الاحتياطية وهنا تم امر بداية العمل

وبخصوص نهاية العمل
يتم عند اغلاق البرنامج من قبل المسؤل
بساله هل تريد عمل نسخة احتياطية
ويتم تنبيه المسؤال ان لا يوافق الا بعد نهاية الدوام كلياً 
وان يتاكد بان لا يوجد اى موظف يعمل على البرنامج

وعند الموافقة تظهر له شاشة تحديد مكان حفظ النسخة الاحتياطية
وهنا انت اجبرت المسؤل انه المسؤل عن سحب النسخة الاحتياطية الثانية بنفسه
وحفظها فى مكان هو يريده

فكده اصبح لديك نسختين واحدة تبداء ببداية الدوام / العمل
والثانية اللى هى نفسها النسخة الصباح ولكن اخدت امس فى نهاية الدوام / العمل
من قبل المسؤل ويمكنك عمل قائمة او زر يقوم بنفس امر عند الاغلاق من قبل المسؤال
بان يقوم بعمل نسخة احتياطية

بكده انت تمكنت من الحرص والامان على عمل نسخة احتياطية دورية كاملة
تلقائي و تنفيذى عند انتهاء العمل و يدوياً عند طلب عمل عمل نسخة احتياطية

بكده انت بتحمى قاعدة البيانات والبيانات التى بها
وكذلك لا تسبب اى مشكلة للمستخدم فى فقدان واعادة ادخال البيانات التى كان يعمل عليها
بسبب قاعدة البيانات تم قطع الاتصال بسبب عمل نسخة احتياطية كل دقيقة او كل ساعة وما شبه

هذه نصيحة منى لك عن تجارب وعمل يدوم فعلياً
وليس خمينات ومحاولات وتذكر من الخطاء الفادح
ان يتم تحديد سحب نسخة احتياطية وقت عمل البرنامج
تذكر ذلك ولا تنسي ابداً هذا الامر

اتمنى ان يكون الشرح واضح ونور لك لما تريد فعله
وتكون على دراية لما ستقوم بفعله بعد هذا الشرح والنصيحة

تحياتى لك
وتمنياتى لك التوفيق

(11-05-19, 11:47 PM)عبد  العزيز البسكري كتب :
السلام عليكم و رحمة الله و بركاته
شكري و تقديري أخي الغالي ELGOKR على لطفك و لطف كلامك .. و مساعتك للجميع بدون كلل أو ملل ..
جزاك الله خير الجزاء و زادها بموازين حسناتك إن شاء الله
[b]و بعيدا عن منطق .. ( عنزة و لو طارتْ )[/b]
هذا مثال آخر .. و فكرة بسيطة بساطة معلوماتي .. لروّاد المنتدى و قرّاء الموضوع .. من أجل أخذ نسخة إحتياطية كل دقيقة أو بالتغيير لجعله كل ساعة أو حتى كل 20 ساعة ..
تحياتي


الشكر لله والحمد لله
والحمد لله على كل حال

تسلم اخى وحبيبى عبد العزيز البسكري
وبارك الله لك وحقق لك الله كل ما تتمناه من كل خير
وكل عام وانت والاسرة دائماً بخير

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو
#27
السلام عليكم
أبسط طريقة ممكن تتخيلها أقوم بعملها لنفسي في النسخ الاحتياطي
أول شي في اعدادات المشروع ستقوم بإنشاء متغير من نوع نصي
وقمت بتسميته BackUpDate
وأعطيته المجال الآتي : 

إقتباس :D:\DEBUG\Backup\DB_SALES_DEP.bak
مع تغيير اسم قاعدة البيانات وترك الامتداد باك
بعد ذلك قمت بإنشاء صب في الفورم الرئيسي


كود :
Private Sub GetBackUp()
       On Error Resume Next
       Dim cmd As New SqlClient.SqlCommand("BACKUP DATABASE [DB_SALES_DEP] TO  DISK = N'" & My.Settings.BackUpDate & "' WITH NOFORMAT, NOINIT,  NAME = N'DB_SALES_DEP-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10")
       MDL_CON.CommandExecuteScalar(cmd)
   End Sub

قمت بإنشاء موديول خاص لتنفيذ الآمر  ، مع تغيير اسم قاعدة البيانات بالتي لديك
إقتباس : Public Function CommandExecuteScalar(ByVal Cmd As SqlClient.SqlCommand) As Boolean
        Dim ReturnValue As Boolean = False
        'Dim Cn As SqlClient.SqlConnection = Connection

        'If Cn Is Nothing Then Exit Function
        '  If Not OpenConnection() Then Exit Function
        Try
            Cmd.Connection = CON
            If CON.State = 1 Then CON.Close()
            CON.Open()
            _ReturnObject = Cmd.ExecuteScalar
            CON.Close()
            ReturnValue = True
        Catch ex As Exception
            MessageBox.Show(ex.Message & Space(50), "منظومة مــــبــــيـــــعــــات - خطأ غير متوقع", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
        End Try

        Return ReturnValue

    End Function
    Private _ReturnObject As Object
وقمت بإستدعاء الأمر عند غلق الفورم الرئيسي في حدث الاغلاق


كود :
GetBackUp




عند الإغلاق يقوم بعمل نسخ احتياطي للقاعدة في القرص D في المجلد الخاص الذي أسميته بآك آب
جرب وقولي
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#28
ان شاء  الله
شكرا علي المعلومات القيمة
الرد }}}
تم الشكر بواسطة: elgokr
#29
(12-05-19, 03:44 AM)atefkhalf2004 كتب : ان شاء  الله
شكرا علي المعلومات القيمة


الشكر لله والحمد لله

والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#30
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

السلام عليكم ....

اسف على الازعاج . لو اردت عكس العملية واسترجاع قاعدة البيانات  بشكل يدوي طبعا . تحياتي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] مشروع لاضافة رسم بيانى محتاج التدخل لاصلاحه dr.programming 0 223 09-11-25, 01:48 AM
آخر رد: dr.programming
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 842 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 799 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,294 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,028 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  بطء في جلب البيانات مصمم هاوي 9 1,012 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  [Acces2007] مشكلة ملف قاعدة بيانات access للقراءة فقط mmaalmesry 11 1,493 29-04-25, 08:55 PM
آخر رد: mmaalmesry
  تعديل كود تحديث البيانات مصمم هاوي 1 790 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 703 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 665 24-04-25, 12:58 PM
آخر رد: foad8920

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


يقوم بقرائة الموضوع: