اذهب الي المحتوي
أوفيسنا

الطريقة الأكثر امانا لعمل ضغط واصلاح لقاعدة البيانات الخلفية


الردود الموصى بها

السلام عليكم ورحمة الله وبركاته ..

يوجد مواضيع كثيرة ونصائح ايضا كثيرة حول ضغط قاعدة البيانات واصلاحها ...  وهي محيرة بشكل اكبر

سؤالي كما هو بالعنوان ... الطريقة الأفضل والأكثر امانا لضغط القاعدة الخلفية واصلاحها 

طبعا القاعدة مقسمة الى امامية وخلفية وما اعنية هنا هو القاعدة الخلفية ..... 

هنا نبحث عن نصيحة من شخص جرب الموضوع وله خبرة حولة

بالتوفيق للجميع

  • Like 4
رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته

اهم نقطة في الامان وهي التي يجب ان تؤخذ في الاعتبار :   أخذ نسخة من القاعدة قبل الاصلاح والضغط

 وايضا :

- مراعاة ان تكون القاعدة الخلفية منفكة  من  الواجهات  

      ويتحقق عدم الارتباط عند تخصيص نموذج البداية غير منضم لمثل هذا العمل

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

 

 

  • Like 3
رابط هذا التعليق
شارك

جزاك الله خير استاذ ابو خليل وشكرا على تجاوبك ...  وهو شئ غير مستغرب منك طال عمرك

خطوات ونصائح مهمة وتؤخذ بعين الإعتبار من شخص بمقامك استاذ ابو خليل 

هنا بعض التساؤلات:

اولا .. لو فيه تطبيق على العمليات هذي متتالية او كمثال نكون شاكرين لك استاذ ابو خليل

ثانيا ::  كم مرة يجب ان اعمل ضغط واصلاح خلال فترة معينة  .. 

مثلا .. هل اقوم بالضغط والإصلاح كل شهر كل اسبوع وهكذا..

*********************

هنا تساؤل آخر :

قرأت في موضوع اجبت عليه انت استاذ ابو خليل وهو فتح قاعدة من قاعدة اخرى

هل تنصح بالقيام بهذه العملية عوضا عن الضغط والإصلاح ... اقصد فتح القاعدة واغلاقها فقط دون ضغط واصلاح .

 

 

وشاكر ومقدر سعة صدرك ...

  • Like 1
رابط هذا التعليق
شارك

هنا استاذ سعيد صار نقاش حول 

 

هنا خلينا نستنتج من المشاركة السابقة مايلي

ان تفعيل الخيار الضغط عند الاغلاق دائما بدون شروط وعند كل مرة اغلاق ليس جيدا

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

ان تفعيل خيار الضغط عند الاغلاق للقاعدة الخلفية مناسب وحسب استنتاجي التالي 

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

وهنا عندما تريد ضغطها اغلق جميع القواعد الامامية ثم افتح القاعده الخلفية واغلقها !

 

اتمنى افدتك ولك اجمل التحايا

  • Like 2
رابط هذا التعليق
شارك

حياك الله استاذ رمهان ::

ولك اجمل التحايا 

اتفقت انت والاستاذ جعفر على جملة وهي :: تفعيل خيار الضغط والإصلاح للقاعدة الخلفية .

هذه مشاركة الأستاذ جعفر في الرابط الذي قمت بإدراجة استاذ رمهان 

في احد برامجي ، والذي كان في الخدمة لمدة 14 سنه تقريبا ، وكان منقسم الى قسمين ،

البرنامج كان على الشبكة ويُستعمل طوال اليوم من 5 مستخدمين على الاقل ،

كانت خاصية الضغط عند الاغلاق مُفعّلة في جزء الجداول ، وبدون اي مشكلة 

 

هنا سؤال : هل يعتبر قطع الاتصال عن القاعدة بمثابة اغلاق للقاعدة حتى يتم تنفيذ الضغط والإصلاح .

بمعنى عند خروج اخر مستخدم للواجهه تعتبر القاعدة  الخلفية تم اغلاقها ... وبالتالي تنفذت عملية الضغط والإصلاح!!

 

وهنا اشبه بالجواب على سؤالي :

50 دقائق مضت, رمهان said:

هنا عندما تريد ضغطها اغلق جميع القواعد الامامية ثم افتح القاعده الخلفية واغلقها !

وهنا تساؤل ::  

وهنا اتكلم برمجيا وليس يدويا

كيف اعرف انه ليس هناك اي اتصال بالقاعدة ... ثم فتح القاعدة المحمية بكلمة مرور ... وتنفيذ عملية الضغط والإصلاح ثم الإغلاق ..

 

اتمنى تتسع صدوركم اساتذتنا الكرام  ولا نملك الا الدعاء بدوام صحته وعافيته وفضله علينا وعليكم اجمعين .

 

تم تعديل بواسطه سعيد صواب
رابط هذا التعليق
شارك

1 دقيقه مضت, سعيد صواب said:

هنا سؤال : هل يعتبر قطع الاتصال عن القاعدة بمثابة اغلاق للقاعدة حتى يتم تنفيذ الضغط والإصلاح .

بمعنى عند خروج اخر مستخدم للواجهه تعتبر القاعدة  الخلفية تم اغلاقها ... وبالتالي تنفذت عملية الضغط والإصلاح!!

 

ما شاء الله عليك استاذ سعيد

طلعت انت من الناس الذي يعرفون هم ماذا يعملون

والله انت سبقتني وانا اكتب نفس السؤال ؟ لانه فعلا يجب ان يطرح ؟

نجرب ونعود !

تحياتي

  • Like 1
رابط هذا التعليق
شارك

الشيء المهم والذي يجب ان يعرف :

ان الضغط والاصلاح لقاعدة البيانات هو عبارة عن عملية يتم من خلالها خطوتين اثنتين وثالثة

1- نسخ القاعدة  الى الذاكرة مع الضغط   وتغيير الاسم

2- حذف القاعدة الاصلية

3- اعادة لصق ما في الذاكرة  واعادة اسمها الاصلي

ومن هنا يتبين خطورة العملية  فيما لو لم يتم اخذ الاحتياطات اللازمة

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

 

 

  • Like 5
رابط هذا التعليق
شارك

4 ساعات مضت, سعيد صواب said:

هنا تساؤل آخر :

قرأت في موضوع اجبت عليه انت استاذ ابو خليل وهو فتح قاعدة من قاعدة اخرى

هل تنصح بالقيام بهذه العملية عوضا عن الضغط والإصلاح ... اقصد فتح القاعدة واغلاقها فقط دون ضغط واصلاح .

وشاكر ومقدر سعة صدرك ...

الضغط يتم باحد طريقين

اما بفتح قاعدة البيانات / ادوات/ ضغط واصلاح قاعدة البيانات

واما بواسطة الكود البرمجي  للقاعدة البعيدة

وهو ما بينته في مشاركتي السابقة بما يشبه هذا الكود

DAO.DBEngine.CompactDatabase db_name, temp_name
    Kill db_name
    Name temp_name As db_name

  • Like 2
رابط هذا التعليق
شارك

حزاك الله خير استاذ ابو خليل 

اتمنى ان تشاركنا بخبرتك في هذا التساؤل 

 

 

56 دقائق مضت, سعيد صواب said:

 

وهنا تساؤل ::  

وهنا اتكلم برمجيا وليس يدويا

كيف اعرف انه ليس هناك اي اتصال بالقاعدة ... ثم فتح القاعدة المحمية بكلمة مرور ... وتنفيذ عملية الضغط والإصلاح  ..

 

اتمنى تتسع صدوركم اساتذتنا الكرام  ولا نملك الا الدعاء بدوام صحته وعافيته وفضله علينا وعليكم اجمعين .

 

 

رابط هذا التعليق
شارك

اقتباس

ثانيا ::  كم مرة يجب ان اعمل ضغط واصلاح خلال فترة معينة  .. 

مثلا .. هل اقوم بالضغط والإصلاح كل شهر كل اسبوع وهكذا..

اكيد حسب الحاجة

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

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

 

رابط هذا التعليق
شارك

1 ساعه مضت, رمهان said:

ما شاء الله عليك استاذ سعيد

طلعت انت من الناس الذي يعرفون هم ماذا يعملون

والله انت سبقتني وانا اكتب نفس السؤال ؟ لانه فعلا يجب ان يطرح ؟

نجرب ونعود !

تحياتي

عزيزي

بعد التجربة لا يتم ضغط القاعدة الخلفية بقطع اخر اتصال ! لم يعتبره اغلاق للقاعدة !

اذا لابد من الفتح الصريح والاغلاق ! 

وهنا اعتبره افضل ..! لان الاتصال يحدث عند فتح كائن منضم لاحد الكائنات الخلفية وينقطع عند اغلاق الكائن ! فليس من الافضل يتم الضغط عند قطع الاتصال لانه يحدث كثيرا وليس فقط عند اغلاق القاعدة الامامية

وهنا نستنتج انه لم يحدث مشاكل عند الاستاذ جعفر لانه لن يتم ضغط الخلفية الا بالفتح والاغلاق الصريح ! ولن يتم الا اذا لم يكون هناك اتصال بالقاعدة نهائيا

هنا مارايك بالذهاب للقاعدة الخلفية ثم عمل ضغط واصلاح يدوي ؟

تحياتي

  • Like 5
رابط هذا التعليق
شارك

حياك الله استاذ رمهان 

في الحقيقة كنت اقوم بهذا الشئ يدويا .. لأني كنت المسؤول عن البرامج وكنت اعملها لعملي وانا الخصم والحكم فيها .. 

ولكن حين تبدأ تعمل برامج في اماكن بعيده واشخاص لاتعرفهم

هنا  هذه امانه يجب تقديمها على اكمل وجه ... 

على الأقل بأقصى امكانيات يملكها الشخص ... وان يسعى لتصحيح اخطائة لو اكتشف لاحقا ان هناك اي خطاء بعمل تحديثات وما شابه .

****

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

2 ساعات مضت, سعيد صواب said:

 

وهنا تساؤل ::  

وهنا اتكلم برمجيا وليس يدويا

كيف اعرف انه ليس هناك اي اتصال بالقاعدة ... ثم فتح القاعدة المحمية بكلمة مرور ... وتنفيذ عملية الضغط والإصلاح ثم الإغلاق ..

 

اتمنى تتسع صدوركم اساتذتنا الكرام  ولا نملك الا الدعاء بدوام صحته وعافيته وفضله علينا وعليكم اجمعين .

 

والله يجزاكم كل خير 

  • Like 1
رابط هذا التعليق
شارك

2 ساعات مضت, سعيد صواب said:

وهنا تساؤل ::  

وهنا اتكلم برمجيا وليس يدويا

كيف اعرف انه ليس هناك اي اتصال بالقاعدة ... 

 

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

ولكن المشكلة كيف يتم اغلاق القواعد الامامية ؟

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

تحياتي

 

  • Like 4
رابط هذا التعليق
شارك

السلام عليكم

جزاك الله كل الخير عنا أخ سعيد صاحب الموضوع وعلى كل من شارك

للصدفة وجدت الأخ سعيد قد سبقني لهذا الموضوع ووضع نفس التساؤل اللذي كنت سأستفر عنه كل من قام بتجربته

فأغلب البرامج المصممة تكون قاعدتين ونكون مضطرين لوضع زر ضغط واصلاح باصفحة البرنامج للعميل

فانا أضم صوتي لصوت أخي سعيد بأن الطرق والكودات كثيرة ومحيرة بهذا الموضوع

ويا ليت نصل لحل يمكننا من الضغط والاصلاح للقاعدة الخلفية دون مشاكل

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

وبالنسبة للقاعدة الامامية عند عمل ضغط واصلاح للقاعدة الخلفية ألا تحتاج أيضاً ؟؟؟؟

مرة أخرى شكر لاخي سعيد على الموضوع المهم والرائع

  • Like 2
رابط هذا التعليق
شارك

احبتي  وبعد العذر على التاخر

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

او عليك استخدام نسخة الاسكيو ال سيرفر المصغرة express  كخلفية وارح نفسك !

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

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

 

تحياتي

  • Like 3
رابط هذا التعليق
شارك

 

السلام عليكم

أخي و استاذنا رمهان جزاك الله عنا كل خير ولو تأخرت لكنك وصلت :signthankspin:

6 ساعات مضت, رمهان said:

امر في احد النماذج الغير منضمة لفتح القاعد بشكل صريح ثم اغلاقها

كيف يكون الأمر للزر .؟؟

اي لفتح القاعدة الخلفية واغلاقها مباشرتاً

*اي القاعدة الخلفية الحالية المرتبطة

*ولنفرض اننا نريد السماح للعميل بالضغط لمرة واحدة فقط في اليوم ؟؟؟؟

مع الشكر

 

رابط هذا التعليق
شارك

11 ساعات مضت, رمهان said:

احبتي  وبعد العذر على التاخر

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

او عليك استخدام نسخة الاسكيو ال سيرفر المصغرة express  كخلفية وارح نفسك !

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

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

 

تحياتي

مقدرين وقتك ومعذور

جزاك الله خير استاذ رمهان

تم تعديل بواسطه سعيد صواب
  • Like 2
رابط هذا التعليق
شارك

6 ساعات مضت, رضا الله said:

 

كيف يكون الأمر للزر .؟؟

اي لفتح القاعدة الخلفية واغلاقها مباشرتاً

*اي القاعدة الخلفية الحالية المرتبطة

اي امر لفتح ملف ويندوز ! مثلا followhiperlink ثم تمرير مسار القاعدة على السيرفر وعند فتح الملف تعمل ضغط واصلاح يدوي من قائمة ملف وبشرط ان لا يكون هناك فتح من قبل المستخدمين الاخرين ! هنا كاننا نستبعد الضغط عند الاغلاق ويحل محله الضغط اليدوي !

6 ساعات مضت, رضا الله said:

*ولنفرض اننا نريد السماح للعميل بالضغط لمرة واحدة فقط في اليوم ؟؟؟؟

مع الشكر

 

هذه ممكن وضع كود عند الفتح للنموذج الغير منضم السابق بشرط توافق شرط ان التاريخ يساوي تاريخ محدد وشرط انه لم يتم الفتح في نفس التاريخ !

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

 

تحياتي

  • Like 1
رابط هذا التعليق
شارك

 

السلام عليكم

الان, رمهان said:

تمرير مسار القاعدة على السيرفر

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

فكيف السبيل لاعلام الامر أن القاعدة المرتبطة الآن ؟؟؟!

الان, رمهان said:

هذه ممكن وضع كود عند الفتح للنموذج الغير منضم السابق بشرط توافق شرط ان التاريخ يساوي تاريخ محدد وشرط انه لم يتم الفتح في نفس التاريخ !

نعم اي ضغط مرة واحدباليوم وعند استدعاء الامر مرة ثانية او ثالثة او .......

يعطي رسالة بأنه تم الضغط هذا اليوم :clapping:

مع تقديري واحترامي للجميع وخاصة صاحب الموضوع أخ سعيد والاستاذ رمهان ..

  • Like 2
رابط هذا التعليق
شارك

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

سؤال ( و اعذروا قلة خبرتي في هذا الموضوع ):

         هل يمكن وضع الجداول مع بقية الكائنات ( بدون ان نفصلهم ) في جهاز حاسوب ,

          ثم نضع الواجهة فقط على بقية الاجهزة , و نعمل ارتباط مع القاعدة ذات الجداول ؟

     .......

          اذا كان الجواب نعم , فنستطيع عمل الضغط و الاصلاح من القاعدة الرئيسية بما انها مفتوحة اصلا ... 

رابط هذا التعليق
شارك

5 دقائق مضت, كرار صبري _ أبو جنى said:

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

سؤال ( و اعذروا قلة خبرتي في هذا الموضوع ):

         هل يمكن وضع الجداول مع بقية الكائنات ( بدون ان نفصلهم ) في جهاز حاسوب ,

          ثم نضع الواجهة فقط على بقية الاجهزة , و نعمل ارتباط مع القاعدة ذات الجداول ؟

عليكم السلام والرحمة 

نعم استاذ كرار نستطيع

ماهي الفكرة التي تدور في بالك ...

تفضل 

 

رابط هذا التعليق
شارك

اخي الاستاذ سعيد

اريد تعليقك ووجهة نظرك بدون مجاملة في النقاط التالية

1.

20 ساعات مضت, رمهان said:

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

2.

6 ساعات مضت, رمهان said:

اي امر لفتح ملف ويندوز ! مثلا followhiperlink ثم تمرير مسار القاعدة على السيرفر وعند فتح الملف تعمل ضغط واصلاح يدوي من قائمة ملف وبشرط ان لا يكون هناك فتح من قبل المستخدمين الاخرين ! هنا كاننا نستبعد الضغط عند الاغلاق ويحل محله الضغط اليدوي !

حتى لو تقول هذا الكلام من ابجديات الاكسس !!

تحياتي

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information