PRB: جهاز 'Temp_db' يتسبب مشكلات بدء تشغيل ملقم SQL

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية158586
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الأعراض
عند تشغيل SQL Server بحيث يتم وضع tempdb في RAM (إما بتعيين الخيار 'tempdb في RAM' بشكل صريح أو عن طريق بدء تشغيل في وضع تكوين الحد أدنى باستخدام المعلمة & -f & في سطر الأوامر) ، يفشل SQL Server ببدء التشغيل بشكل صحيح إذا كان جهاز مع اسم جهاز 'temp_db' موجود مسبقاً.
السبب
عند وضع tempdb في RAM SQL Server يحاول أولاً إنشاء جهاز RAM اسم منطقي من 'temp_db' ، ثم إنشاء قاعدة بيانات tempdp على هذا الجهاز. إذا كان جهاز موجود مسبقاً مع اسم 'temp_db' ، ستفشل محاولة إدراج إدخال في جدول sysdevices; وبالتالي لا يمكن إنشاء tempdb.

سيحتوي errorlog SQL Server التسلسل التالي من رسائل الخطأ:
جرت محاولة إدراج صف المفاتيح المكررة في الكائن 'sysdevices' مع فهرس فريد 'sysdevices' (رسالة 2601)

crdb_tempdb: لا يمكن نقل tempdb إلى RAM; الجهاز RAM غير موجود أو لا يمكن إنشاء أو لا يكون لديك مساحة كافية tempdb.

سيقوم الملقم متابعة خلال عملية بدء التشغيل ومن لن تقرير المحتمل رسائل خطأ أخرى أيضاً.



إذا حاولت استخدام tempdb أثناء بدء التشغيل (على سبيل المثال، في إجراء بدء تشغيل التي تم تخزينها) قد يتم الإعلام رسائل الخطأ التالية ثم يفشل بدء تشغيل الملقم:
msg 906: قد لا بتحديد موقع الصف في sysobjects للحصول على كتالوج النظام 'sysobjects' في قاعدة البيانات 'tempdb'....

msg 615: تعذر العثور على معرف جدول قاعدة البيانات = 2، الاسم = 'tempdb'....

إذا حاولت الوصول إلى "tempdb" بعد بدء تشغيل الملقم سوف يتم تسجيل رسائل أعلاه ولكن ولن توقف الملقم.

الحل البديل
لبدء الملقم انتقل إلى موجه الأوامر ثم انتقل إلى الدليل BINN حيث تم تثبيت SQL Server (على سبيل المثال، SQL60\BINN لـ SQL Server 6 أو MSSQL\BINN لـ SQL Server 6.5). ثم استخدم سطر الأوامر التالي الذي حساسة لحالة الأحرف, لبدء تشغيل SQL Server:
sqlservr - c -m - T3609 - T4022



الرجاء ملاحظة أن الاستخدام -m يبدأ SQL Server في وضع المستخدم المفرد. بعد الدخول الناجحة الأول على أية طلبات اللاحقة رسالة "فشل تسجيل الدخول" حتى أول اتصال قام بتسجيل. تأكد من إيقاف أية عمليات تلقائية قد تكون محاولة تسجيل الدخول إلى SQL Server (على سبيل المثال، SQL Executive, مراقبة الأداء, الخ.).

بمجرد تشغيل ملقم SQL استخدام & "ISQL/w &" للاتصال بـ SQL Server. لاحظ أن فلن تكون قادراً على استخدام إدارة المؤسسة SQL فقط؛ وهي ليست متوفرة مع هذه المعلمات بدء التشغيل (لأنه يستخدم tempdb). بمجرد الاتصال، استخدم الأمر التالي لإيقاف الجهاز الموجود باسم 'temp_db' بحيث يمكن إنشاء SQL Server على هذا الجهاز عند بدء التشغيل.
sp_dropdevice 'temp_db'

إذا كان قد تم توسيع أي قواعد بيانات أخرى إلى جانب tempdb إلى الجهاز ، سيتم التقرير الأمر أسماء قواعد البيانات هذه. قواعد البيانات هذه يجب أن يكون إسقاط باستخدام الأمر DROP قاعدة بيانات بحيث يمكن حذف الجهاز temp_db.



إذا استمر عدم SQL Server لبدء بنجاح بعد اتباع الخطوات أعلاه قد يتم وضع tempdb بشكل صريح في RAM استخدم الأمر التالي لمحاولة لوضع tempdb مرة أخرى على القرص.
sp_configure 'tempdb في RAM' 0
إعادة تكوين مع تجاوز

يجب أن هذا وضع tempdb مرة أخرى على الجهاز الافتراضي مع حجم قاعدة البيانات الافتراضي (عادة 2 ميغا بايت على الرئيسية). إيقاف وإعادة تشغيل SQL Server. في هذه المرحلة، ستحتاج إلى إسقاط الجهاز مع temp_db اسم إنشاء جهاز باسم مختلف ثم قم بتوسيع tempdb إلى هذا الجهاز الجديد.
تكوين الحد الأدنى sql65 sql60

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 158586 - آخر مراجعة: 02/03/2014 21:42:20 - المراجعة: 3.0

Microsoft SQL Server 6.0 Standard Edition, Microsoft SQL Server 6.5 Standard Edition

  • kbnosurvey kbarchive kbmt KB158586 KbMtar
تعليقات