SQL Server / دليل حلول تحريري
تشخيص فشل تسجيل الدخول 18456
حدد حد المصادقة أو وصول القاعدة الفاشل دون كشف بيانات الاعتماد أو توسيع الصلاحيات عشوائياً.
قاعدة معرفة للقراءة فقط · بلا تعليقات عامة
تعرّف على الأعراض
يعرض العميل الخطأ 18456، غالباً بنص مثل Login failed for user 'TrainingAppUser'. يمثل الاسم المصطنع هوية خدمة لا بيانات اعتماد يجب إنشاؤها.
يختلف الفشل أثناء الاتصال عن رفض صلاحية SELECT لاحقاً. قد تغيب عن رسالة العميل العامة تفاصيل السبب الموجودة في سجل الخادم المقيد لدى مسؤول مخول.
افهم الأسباب المحتملة
- قد يستهدف التطبيق مثيلاً خاطئاً أو يستخدم آلية مصادقة مختلفة أو سراً قديماً أو يعمل بهوية Windows غير المتوقعة.
- قد يفشل الدخول بسبب حالة الحساب أو القاعدة المطلوبة أو الافتراضية. لا تفترض تفسيراً موحداً لرقم الحالة دون سبب الخادم والسياق.
اجمع سياق اتصال غير سري
سجّل وقت الفشل بـ UTC والرقم الدقيق وعملية التطبيق والخادم أو المثيل والقاعدة المقصودة ونمط المصادقة وبيئة النشر. احجب كلمات المرور والرموز وسلاسل الاتصال الكاملة. قارن مصادر الإعداد الفعلية بما فيها تجاوزات البيئة وإعداد الخدمة، ولا تكتف بملف مثال في المستودع. لا تطبع قيم الإعداد لمجرد إثبات المصدر الذي طُبق.
اطلب سبب الخادم المقيد
ليطابق مسؤول مخول الوقت مع سجل أخطاء SQL Server ويحتفظ بالسبب والحالة في سجل الحادثة المقيد. تختلف معالجة تسجيل غير موجود وهوية معطلة وكلمة غير مطابقة وقاعدة غير متاحة. لا تلصق السجلات الخام في دليل عام ولا تكرر تخمين الكلمات. إذا لم يوجد طلب مطابق في السجل فتحقق من النقطة وهل وقع الفشل قبل بلوغ المثيل.
افحص جلسة مخولة قائمة
يمكن للاستعلام التالي تأكيد السياق في جلسة تشخيص مخولة قائمة؛ ولا يستطيع الاتصال المرفوض تشغيله. قد تختلف هويتها عن الخدمة الفاشلة، فلا تعتبر نجاح المسؤول دليلاً على إصلاح الخدمة. تعتمد الرؤية وسلوك الهوية المتكاملة على الإعداد. لا تتصل بخدمات مضبوطة من أجل دراسة المثال.
SELECT SERVERPROPERTY('ServerName') AS server_name,
SERVERPROPERTY('IsIntegratedSecurityOnly') AS integrated_only,
ORIGINAL_LOGIN() AS original_login,DB_NAME() AS database_name;
تختلف القيم حسب البيئة وتبقى في تشخيص مقيد إذا عرّفت بنية حقيقية.
صحح الحد الذي يثبته الدليل
عند خطأ النقطة صحح إعداد النشر المخول، وعند سر قديم اتبع تدوير الأسرار وتوزيعها المعتمد. ولربط القاعدة أو توافرها يعالج مالكها وصول المستخدم أو حالتها المقصودة. إذا خالف نمط المصادقة السياسة فاختر الآلية المعتمدة؛ ولا تمكّن النمط المختلط أو تعيد الخدمة أو تمنح sysadmin لمجرد إخفاء الرسالة. ضيّق الإصلاح إلى السبب المؤكد.
تحقق من نجاح الإصلاح
تحقق باتصال معتمد واحد بهوية الخدمة الفعلية والقاعدة المقصودة ثم بأدنى قراءة أو استدعاء مسموح. أكد استمرار رفض القدرات الممنوعة، وطابق المحاولة الجديدة مع التشخيص المقيد وأزل التسجيل المؤقت الحساس.
امنع تكرار المشكلة
- وثّق ملكية النقطة وسياسة المصادقة وتدوير الأسرار وربط المستخدم لكل بيئة. اختبر الإعداد دون كشف أسرار ونبّه لفشل ذي معنى بدلاً من إخفائه بصلاحيات واسعة.