الأسئلة الشائعة-ويكي
الإجابة:
هناك طريقتان لحفظ البيانات، يدعمهما Recovery Toolbox لـ SQL Server:
- بإمكانك حفظ نصوص SQL على القرص الصلب، وسوف تقوم بإنشاء كائنات قاعدة البيانات، والجداول، على سبيل المثال، وإدراج البيانات في هذه الجداول.
- يمكنك أيضًا تشغيل البرامج النصية في قواعد البيانات، التي يحددها المستخدمون، ويتم كتابة هذه البرامج النصية بلغة SQL.
يرجى ملاحظة أن نصوص SQL قد تكون مختلفة، على الرغم من أنها تستند إلى نفس ملفات قاعدة البيانات. يحدث هذا بسبب خصوصيات بناء الجملة في الاستعلامات التي يتم تنفيذها للاتصال المباشر بالخادم عن طريق ADO وفي استعلامات SQL التي يتم تنفيذها في بيئة Query Analyzer التي يتم توفيرها مع MS SQL Server (استخدام ":"، الأمر Go، وما إلى ذلك). الطريقة الأولى أكثر موثوقية، أما الطريقة الثانية فهي أكثر ملاءمة.
تحويل البيانات إلى نصوص وحفظها على القرص
1. تعيين البيانات المحفوظة
إذا اخترت حفظ البيانات على القرص، فسوف يقوم Recovery Toolbox for SQL Server بإنشاء دليل فرعي يتضمن اسم ملف MDF المصدر، ويتم إنشاء هذا الدليل الفرعي في الدليل المحدد من قبل المستخدم وسيتم وضع جميع البرامج النصية هناك. يتم تسمية جميع البرامج النصية حسب القاعدة، وتتكون الأسماء من كلمة ورقم. تشير الكلمة إلى دور البرنامج النصي، ويشير الرقم إلى رقمه. هناك العديد من أنواع البرامج النصية، على سبيل المثال:
- Types*.sql - ستقوم البرامج النصية بإنشاء أنواع البيانات التي يحددها المستخدمون.
- Tables*.sql - سوف تقوم البرامج النصية بإنشاء الجداول.
- Indexes*.sql - ستقوم البرامج النصية بإنشاء مفاتيح أساسية وفهرس.
- ForeignKeys*.sql - سوف تقوم البرامج النصية بإنشاء مفاتيح أجنبية.
- Procedure*.sql - ستقوم البرامج النصية بإنشاء إجراءات مخزنة.
- Function*.sql - ستقوم البرامج النصية بإنشاء وظائف يحددها المستخدمون.
- View*.sql - سوف تقوم البرامج النصية بإنشاء وجهات نظر.
- Triggers*.sql - سوف تقوم البرامج النصية بإنشاء مشغلات.
- Data*.sql - ستقوم البرامج النصية بإدراج البيانات في الجداول.
لا يحتوي رقم تسلسل البرنامج النصي على أي بيانات مفيدة، ولا يشير إلى تسلسل تنفيذ البرنامج النصي أو أي معلومات أخرى. تُستخدم هذه الأرقام فقط لتقسيم البيانات وحفظها في مجموعة متنوعة من المستندات الصغيرة بدلاً من ملف كبير واحد. يمكن للمستخدمين تحديد الحجم الأقصى للملف باستخدام البرنامج النصي SQL. علاوة على ذلك، يجب على المستخدمين الانتباه إلى ترقيم ملفات البيانات. تجدر الإشارة إلى أن كل ملف من نوع البيانات يمكن أن يحتوي على بيانات لجدول واحد فقط. تحتوي الملفات ذات أرقام التسلسل على جميع البيانات لكل جدول.
ملحوظة: إذا كانت الأرقام مفقودة لبعض الملفات، فهذا يعني أن بعض الجداول لا تحتوي على أي بيانات.
2. تسلسل تنفيذ البرنامج النصي
في هذا الشكل، يمكنك رؤية ترتيب تنفيذ البرنامج النصي الموصى به:

يعتمد تسلسل تنفيذ البرنامج النصي على القيود الموجودة للبيانات الموجودة وهياكل الجدول. يرجى الانتباه بشكل خاص إلى هذه العوامل:
- يرجى تحديد المفتاح الأساسي المقابل، إذا كنت ترغب في إنشاء مفتاح ثانوي. ونظرًا لهذه الحقيقة، يتم حفظ هذه العمليات في ملفات مختلفة، والتي يجب تشغيلها بهذا التسلسل.
- قبل إنشاء الفهارس والمفاتيح الثانوية، يقوم البرنامج بملء الجداول. وهذا أمر إلزامي، لأنه يتم إجراء فحص سلامة المرجع، عند ملء جدول بمفتاح ثانوي محدد. وعند ملء الجداول ذات المفاتيح الثانوية قبل الجداول ذات المفاتيح الأساسية المقابلة، يحدث خطأ. علاوة على ذلك، تتميز هذه الطريقة بخصوصية أخرى. إذا تعارضت البيانات المستردة مع المفتاح الأساسي، أو الفهارس الفريدة، وما إلى ذلك، في هذه الحالة، سيتم ملء الجدول بالبيانات على أي حال، ولكن لن يتم إنشاء قيود (فهرس، مفتاح أساسي، وما إلى ذلك). إذا احتاج المستخدمون إلى سلوك آخر، فيمكنهم تحديد تسلسل تنفيذ البرنامج النصي بأنفسهم.
- إن إنشاء كائنات الإجراءات والوظائف والعروض والمشغلات في قاعدة البيانات يواجه بعض الصعوبات، وذلك لأن هذه الكائنات قد تكون لها تبعيات معقدة وصعبة. فقد تشير الإجراءات إلى إجراءات أخرى، وقد تشير العروض إلى الوظائف، وقد تشير المشغلات إلى جميع الكائنات. ولهذا السبب، لا يستطيع البرنامج المساعدة في حل هذه المشكلة. ويتعين على المستخدمين العثور على جميع التبعيات يدويًا وتشغيل نصوص SQL بالترتيب المطلوب. ويتمثل أحد الاحتمالات الأخرى في تنفيذ جميع النصوص في هذه المجموعة عدة مرات، حتى تختفي جميع رسائل الخطأ.
3. Install.bat ملف
تم إنشاء ملف Install.bat لضمان التنفيذ التلقائي لجميع البرامج النصية. ينفذ هذا الملف جميع البرامج النصية التي تم حفظها مسبقًا بواسطة الأداة. سيكون تسلسل تنفيذ البرنامج النصي هو نفسه، كما هو الحال عند التطبيق على قاعدة البيانات. يتطلب ملف الدفعة هذا تثبيت أداة isqlw، وهي جزء من جزء عميل MS SQL Server. يرجى تحديد معلمات اسم الخادم واسم قاعدة البيانات واسم المستخدم وكلمة المرور للملف install.bat في سطر الأوامر. على سبيل المثال: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword
انتباه:
- يجب فصل المعلمات بمسافة. إذا كانت المعلمة تحتوي على مسافة، فيجب عليك وضعها بين علامتي اقتباس مزدوجتين.
- لا يمكن تعديل تسلسل المعلمات.
- يرجى استيراد البيانات إلى قاعدة بيانات NEW EMPTY. يجب ألا تحتوي قاعدة البيانات على أي جداول أو فهرس أو إجراءات مخزنة وما إلى ذلك قبل استيراد البيانات.
- إذا تم تنفيذ الملف install.bat بدون معلمات، فيمكنك رؤية دليل مختصر حول كيفية تشغيل هذا الملف.
4. InstallTrusted.bat
إذا كنت تريد تسجيل الدخول إلى Microsoft SQL Server عبر حساب Windows الخاص بك، فاستخدم ملف InstallTrusted.bat. يحتوي ملف InstallTrusted.bat على معامِلَين: اسم الخادم، واسم قاعدة البيانات.
مثال على الاستخدام: installtrusted.bat SQLServer SQLDatabase للحصول على تفاصيل حول تسجيل الدخول عبر حساب Windows، راجع هنا: https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/principals-database-engine?view=sql-server-2017
الإجابة:
إصلاح قاعدة بيانات بصيغة MS SQL Server من عدة ملفات مصدرية
تحتوي قاعدة البيانات بتنسيق MS SQL Server على ملف واحد أو عدة ملفات. هناك عدة أنواع من الملفات: ملف البيانات الرئيسي (بامتداد افتراضي *.mdf)، وملف البيانات الثانوي (بامتداد افتراضي *.ndf)، وملف سجل المعاملات (بامتداد افتراضي *.ldf). إذا كنت ترغب في إصلاح البيانات باستخدام Recovery Toolbox for SQL Server، فيجب عليك تحديد المسار إلى جميع ملفات البيانات الثانوية وملف البيانات الرئيسي. يمكن إجراء ذلك باستخدام مربع الحوار "فتح ملف".

إذا كانت قاعدة البيانات التالفة تحتوي على ملف البيانات الرئيسي وملف(ات) البيانات الثانوية وملف(ات) سجل المعاملات، فيجب عليك تحديد ملف البيانات الرئيسي بتنسيق *.mdf وجميع ملفات البيانات الثانوية بتنسيق *.ndf (انظر الشكل 2).

الإجابة:
يمكن لـ Recovery Toolbox for SQL Server استرداد المعلومات جزئيًا أو كليًا من ملفات .MDF/.NDF في ملفات قاعدة بيانات Microsoft SQL Server المشفرة بواسطة فيروسات برامج الفدية.
لا يقوم Recovery Toolbox for SQL Server بفك تشفير البيانات.
بشكل عام، لا ينطبق فك تشفير البيانات في هذه الحالات.
ومع ذلك، يمكن أن يكون برنامج Recovery Toolbox for SQL Server مفيدًا في الحالات التي تم فيها تشفير ملف MDF جزئيًا. عادةً، تقوم الفيروسات بتشفير رأس الملف و/أو بدايته فقط بسبب حجمه الكبير. في هذه الحالات، إذا تم تشفير رأس الملف أو جزء منه فقط، يمكن أن يكون برنامج Recovery Toolbox for SQL Server مفيدًا. يقوم البرنامج بتحليل كافة كتل البيانات وبنية البيانات المجمعة في الملف. ثم يقوم بإعادة إنشاء بنية البيانات الأصلية والبيانات نفسها، إذا كان ذلك ممكنًا.
بنية ملف MDF الخاص بـ Microsoft SQL Server
هل من الممكن استعادة البيانات من ملف MDF بعد هجوم فيروس الفدية؟
لا توجد ضمانة بأنك تستطيع استرداد 100% من البيانات أو جزء منها باستخدام البرنامج. للحصول على إجابة محددة على هذا السؤال، تحتاج إلى تنزيل الإصدار التجريبي من Recovery Toolbox for SQL Server، وتحديد ملف MDF المشفر وانتظار اكتمال تحليل الملف.
عند الانتهاء من تحليل ملف .mdf في النسخة التجريبية من البرنامج، تصبح المعاينة الكاملة للبيانات التي يمكن استخراجها من الملف متاحة.
ملحوظة:يُعلم قسم دعم العملاء في Recovery Toolbox أن برامج الفدية عادةً ما تقوم بتشفير رأس ملف قاعدة البيانات فقط بسبب حجمه الكبير. ونتيجة لذلك، غالبًا ما يكون من الممكن استرداد بنية البيانات بالكامل تقريبًا وجميع المعلومات تقريبًا من ملف المصدر.
إذا رأيت الخطأ التالي بعد تشغيل البرامج النصية الخاصة بك:
الخادم: الرسالة 242، المستوى 16، الحالة 3، السطر 1
[Microsoft][ODBC SQL Server Driver][SQL Server] أدى تحويل نوع بيانات char إلى نوع بيانات تاريخ ووقت إلى قيمة تاريخ ووقت خارج النطاق.
لقد تم إنهاء البيان.
الإجابة:
وهذا يعني أنه يجب عليك تغيير إعدادات لغة الخادم عن طريق القيام بما يلي:
- ابدأ تشغيل Enterprise Manager.
- حدد الخادم المطلوب وقم بالاتصال به.
- افتح نافذة خصائصه بالضغط على زر الفأرة الأيمن عليه واختيار Properties.
- افتح علامة التبويب Server Settings.
- حدد English في القائمة المنسدلة Default Language for user واضغط على OK.
- إيقاف خادم SQL. للقيام بذلك، حدد Stop في قائمة السياق وأجب بـ Yes على السؤال Are you sure you wish to stop SQL Server service. في نافذة التأكيد.
- ابدأ تشغيل SQL Server. للقيام بذلك، حدد Start في قائمة السياق.
- يمكنك الآن تشغيل البرامج النصية المحفوظة على القرص الصلب لديك بواسطة Recovery Toolbox for SQL Server. كما يمكنك تشغيل البرنامج في وضع تنفيذ البرامج النصية لقاعدة البيانات.
- الآن، تحتاج إلى استعادة الإعدادات. للقيام بذلك، افتح نافذة خصائص الخادم المطلوب في Enterprise Manager.
- حدد اللغة الافتراضية في قائمة Default Language for user واضغط على OK.
- إيقاف خادم SQL. للقيام بذلك، حدد Stop في قائمة السياق وأجب بـ Yes على السؤال Are you sure you wish to stop SQL Server service. في نافذة التأكيد.
- ابدأ تشغيل SQL Server. للقيام بذلك، حدد Start في قائمة السياق.
إذا رأيت الخطأ التالي بعد تشغيل البرامج النصية الخاصة بك:
الخادم: الرسالة 242، المستوى 16، الحالة 3، السطر 1
[Microsoft][ODBC SQL Server Driver][SQL Server] أدى تحويل نوع بيانات char إلى نوع بيانات تاريخ ووقت إلى قيمة تاريخ ووقت خارج النطاق.
لقد تم إنهاء البيان.
الإجابة:
وهذا يعني أنه يجب عليك تغيير إعدادات لغة الخادم عن طريق القيام بما يلي:
- ابدأ Management Studio.
- اختر الخادم اللازم.
- انتقل إلى Security\Logins.
- اختر المستخدم الذي سيستخدم قاعدة البيانات وافتح نافذة خصائص المستخدم.
- حدد English في القائمة المنسدلة Default Language for user واضغط على OK.
- يمكنك الآن تشغيل البرنامج النصي المحفوظ على القرص الصلب لديك بواسطة Recovery Toolbox for SQL Server. أو يمكنك تشغيل البرنامج في وضع تنفيذ البرامج النصية لقاعدة البيانات.
- الآن، يتعين عليك استعادة الإعدادات. للقيام بذلك، افتح نافذة الخصائص الخاصة بالمستخدم المطلوب Management Studio.
- حدد اللغة الافتراضية في قائمة Default Language for user واضغط على OK.
- ابدأ تشغيل SQL Server Management Studio
- في Object Explorer انقر بزر الماوس الأيمن على Databases
- انقر فوق Attach
- انقر فوق الزر Add
- حدد ملف mdf وانقر على زر Ok
- انقر فوق الزر Ok
- انتظر حتى اكتمال العملية.
لإصلاح هذه المشكلة، يجب عليك:
- حفظ البيانات على هيئة نصوص برمجية
- قم بتشغيل الملف install.bat مع جميع المعلمات الضرورية من سطر الأوامر
- راجع ملفات الاستجابة (*????.sql.txt) لمعرفة البرامج النصية التي لم يتم تنفيذها بنجاح
- قم بتحميل البرامج النصية التي تم تنفيذها مع وجود أخطاء في Query analyzer من Microsoft SQL Server وحاول تنفيذها هناك. بعد ظهور رسالة الخطأ، يجب عليك اكتشاف الأمر الذي يسبب الخطأ. إذا كتب هذا الأمر بيانات لا قيمة لها، فيمكنك ببساطة إزالتها من الملف. وإلا فيجب عليك إرسال البرنامج النصي الذي تم تنفيذه مع وجود أخطاء ولقطة شاشة من Query analyzer إلى المطورين. بالإضافة إلى ذلك، قد يكون من الضروري لاحقًا إرسال ملف المصدر *.mdf إلى المطورين لدراسة المشكلة.
إن مجرد نسخ أو استعادة جداول البيانات من قاعدة بيانات MSDB على خادم جديد لا يسمح باستعادة DTS Packages لأنها تحتوي على اتصالات داخلية بسياق التنفيذ للخادم الذي تم إنشاؤها عليه والذي تم استخدامها عليه قبل الترحيل. لنسخ حزم DTS بين الخوادم، يجب استخدام VB scripts. لذلك، فإن برنامج Recovery Toolbox for SQL Server غير مناسب لاستعادة حزم DTS.
الأداة isqlw.exe هي أحد مكونات حزمة MS SQL Server. يمكنك دائمًا تنزيل أحدث إصدار من MS SQL Server من موقع Microsoft وتثبيت المكونات الضرورية على الكمبيوتر. تتيح لك النسخة التجريبية من MS SQL Server التي يتم تنزيلها من موقع Microsoft استخدام المكونات خلال الفترة المحددة في اتفاقية ترخيص المستخدم النهائي.
إذا تمكنت من العثور على الأدوات المناسبة على Microsoft.com، فيمكنك تنزيل Query Analyzer وتثبيته من موقعنا على الويب. الرابط للتنزيل هو: https://recoverytoolbox-ar.com/download/isqlwInstall.exe
يتطلب استرداد قواعد بيانات MS SQL Server كبيرة الحجم قدرًا كبيرًا من ذاكرة الوصول العشوائي (RAM). ويوصي مطورو البرنامج باسترداد قواعد البيانات الكبيرة على أجهزة كمبيوتر بها ذاكرة فعلية خالية كافية. يجب ألا تقل الذاكرة الفعلية التي يستخدمها البرنامج عن حجم الملف الذي تسترده مقسومًا على 500 زائد 20-100 ميجابايت إضافية لتشغيل البرنامج. أي إذا حاولت استرداد ملف .mdf بحجم 100 جيجابايت، فيجب أن يكون لدى الكمبيوتر على الأقل (100 جيجابايت / 500) + 120 ميجابايت = 320 ميجابايت من الذاكرة الفعلية الخالية.
- إذا كانت القيمة في حقل Primary Key غير صحيحة (على سبيل المثال، كانت سلبية أو أكبر بعدة عشرات المرات من جميع القيم الأخرى)، فهذا يعني أن بيانات المصدر تعرضت للتلف بشكل خطير ومن المستحيل استعادتها تمامًا.
- إذا ظهرت قيم مكررة في حقول Primary Key، فهذا يعني أن البرنامج استعاد أوراقًا بها بيانات كان ينبغي تحديدها للحذف في قاعدة البيانات (ملفات mdf وndf). ولكن في الواقع لا توجد علامة تشير إلى أنه ينبغي حذف الورقة التي تحتوي على البيانات. وبالتالي يستعيد البرنامج البيانات من جميع الأوراق. ويؤدي هذا إلى زيادة مفرطة في البيانات المستردة ولم يتمكن مطورو Recovery Toolbox for SQL Server من إيجاد معايير لتصفية الإدخالات الزائدة. وفي هذه الحالة، يتخذ مسؤولو قواعد البيانات و/أو مطورو البرامج القرار النهائي بشأن الإدخالات الزائدة في قاعدة البيانات المستردة التي ينبغي حذفها.
من الممكن أن يحدث شيء إضافي مع ملف MDF الخاص بك بين التجربة والتسجيل (يتم استرداده بواسطة برنامج آخر أو شيء آخر). يمكنك التحقق من ذلك من خلال تشغيل الإصدار التجريبي على هذا الملف على جهاز كمبيوتر آخر.
يكتشف برنامج Recovery Toolbox for SQL Server تلقائيًا إصدار الخادم الذي تم استخدام قاعدة البيانات عليه. لذلك، إذا تم استخدام قاعدة البيانات على MS SQL Server 2000، يكتب البرنامج أداة isqlw في البرامج النصية المحفوظة لاستيرادها إلى قاعدة البيانات الجديدة. إذا تم استخدام قاعدة البيانات على MS SQL Server 2005 أو أعلى، يتم استخدام أداة sqlcmd في البرامج النصية. إذا كنت تريد استيراد البيانات إلى قاعدة بيانات على خادم بإصدار مختلف عن الإصدار الأصلي، فيجب عليك استخدام الأداة للخادم المقابل:
- Isqlw - لـ MS SQL Server 2000
- Sqlcmd - لـ MS SQL Server 2005 والإصدارات الأحدث