يتم تسجيل خطأ في "اقتطاع سجل قاعدة بيانات" في سجل الأحداث عند محاولة نسخ احتياطي سجل المعاملات

الأعراض

عندما يكون قاعدة بيانات في طراز الاسترداد الكامل، ومحاولة لعمل نسخة احتياطية من ملفات سجل العمليات باستخدام الخيار NO_LOG أو TRUNCATE_ONLY، يتم تسجيل الرسالة التالية في "سجل التطبيق" في عارض الأحداث:
نوع الحدث: حدث خطأ
المصدر: mssqlserver. @
فئة الحدث: 6
معرف الحدث: 17055
المستخدم: < اسم المستخدم >
الكمبيوتر: < اسم الكمبيوتر >
الوصف:
18278:
اقتطاع سجل قاعدة البيانات: قاعدة البيانات: < اسم قاعدة البيانات >.


ملاحظة: يتم تسجيل نفس الرسالة أيضا في سجل أخطاء SQL Server 2000.


إذا كنت تستخدم SQL Server 2005، يتم تسجيل الرسالة التالية في سجل أحداث التطبيق:
نوع الحدث: خطأ

مصدر الحدث: MSSQLSERVER

Category:(6) الحدث

ID:8309 الحدث

الوصف:

سجل النسخ الاحتياطي باستخدام TRUNCATE_ONLY أو NO_LOG مع إهمال. يجب استخدام طراز الاسترداد بسيط لاقتطاع سجل الحركة تلقائياً. لمزيد من المعلومات، راجع مركز التعليمات والدعم في http://support.microsoft.com.

السبب

قد يتم تسجيل رسالة التحذير هذه لأن الخيارات NO_LOG و TRUNCATE_ONLY كشف النسخ الاحتياطي باقتطاع ملفات تسجيل المعاملات، وقد تحتاج إلى تسجيل المعاملات للاسترداد الكامل لقاعدة البيانات.

مزيد من المعلومات

قد تشاهد الرسالة فقط عندما تكون قاعدة البيانات في وضع الاسترداد الكامل، وحاولت احتياطي سجل المعاملات باستخدام خيارات TRUNCATE_ONLY أو في NO_LOG. قد تتلقى رسالة إعلام بالخطأ عندما لم تكن قاعدة البيانات في وضع الاسترداد الكامل، أو عندما لا تستخدم خيارات NO_LOG أو TRUNCATE_ONLY عند النسخ الاحتياطي سجل المعاملات.

ملاحظة: خيارات NO_LOG أو TRUNCATE_ONLY باقتطاع سجل المعاملات. عند استخدام هذه الخيارات، قد لا تتلقى نسخة احتياطية كاملة من قاعدة بيانات.

لعرض سجل أخطاء SQL Server، يمكنك استخدام الأداة المساعدة sqldiag موجه الأوامر. الأداة المساعدة sqldiag بجمع وتخزين المعلومات المتعلقة بالتشخيص، ومحتويات سجل التتبع الاستعلام (إذا كان يعمل). بشكل افتراضي، قد تجد ملف الإخراج SQLDiag.txt في الموقع التالي:

< محرك أقراص التثبيت >: \Program Files\Microsoft SQL Server\MSSQL\LOG

يتضمن ملف إخراج النص من كافة سجلات خطأ SQL Server.

لمزيد من المعلومات حول كيفية استخدام الأداة المساعدة sqldiag ، قم بزيارة موقع Microsoft التالي على الويب:

الأداة المساعدة sqldiag


خطوات إعادة إنشاء المشكلة


إعادة إنشاء المشكلة، اتبع الخطوات التالية:
  1. افتح SQL Query Analyzer.
  2. إنشاء قاعدة بيانات جديدة، واسم الاختبار. على سبيل المثال:
    CREATE DATABASE test GO
  3. تعيين وضع استرداد قاعدة البيانات بالكامل. على سبيل المثال:
    ALTER DATABASE test SET RECOVERY FULLGO
  4. إنشاء جدول جديد وقم بتسميته تيستاب في قاعدة البيانات. إدخال بعض البيانات في تيستاب. على سبيل المثال:
    CREATE TABLE testtab( numbers int )GO

    DECLARE @i int
    SET @i=1
    WHILE @i<=100
    BEGIN
    INSERT INTO testtab VALUES(@i)
    SET @i=@i+1
    END
    GO
  5. نسخ قاعدة البيانات الذي يسمى بإجراء اختبار لجهاز الأقراص. على سبيل المثال:
    BACKUP DATABASE test TO DISK = 'c:\Testdb.dmp'GO
  6. إجراء تغييرات قليلة على الجدول الذي يسمى تيستاب في قاعدة بيانات تسمى اختبار.
    على سبيل المثال، حذف بعض الصفوف من الجدول تيستاب:
    DELETE FROM testtab WHERE numbers<=10GO
  7. احتياطي للحركة:
    BACKUP LOG test TO DISK = 'c:\Testlog.dmp'GO

    ملاحظة: تفحص سجل التطبيق في عارض الأحداث. تظهر أية رسالة خطأ للنسخ الاحتياطي.
  8. إجراء بعض التغييرات مزيد من البيانات، ومن ثم نسخ احتياطي سجل الحركة مرة أخرى باستخدام الخيار NO_LOG. على سبيل المثال:
    DELETE FROM testtab WHERE numbers<=20BACKUP LOG test WITH NO_LOG
    GO

    ملاحظة: تفحص سجل التطبيق في عارض الأحداث. يمكنك العثور على رسالة الخطأ للنسخ الاحتياطي.
  9. إنشاء نسخة احتياطية كاملة من قاعدة بيانات لقاعدة البيانات باسم اختبار:
    BACKUP DATABASE test TO DISK = 'c:\testdb.dmp'GO

    ملاحظة: تفحص سجل التطبيق في عارض الأحداث. تظهر أية رسالة خطأ للنسخ الاحتياطي.

المراجع

لمزيد من المعلومات حول خيارات TRUNCATE_ONLY وفي NO_LOG، قم بزيارة موقع Microsoft التالي على الويب:

النسخ الاحتياطي

للحصول على معلومات إضافية حول الأداة sqldiag، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
233332 INF: كيفية تشغيل SQLDIAG على خادم SQL متفاوت المسافات/الظاهري
خصائص

رقم الموضوع: 818202 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات