PRB: الناقص هو موضوع "استكشاف الأخطاء وإصلاحها عزل المستخدمين" في كتب

الأعراض

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

توضح هذه المقالة كيفية استكشاف أخطاء المستخدمين المعزولة.

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في بداية هذه المقالة.

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

على الرغم من أنه غالباً ما يتم استخدام المستخدم وتسجيل الدخول شروط التبادل، تختلف اختلافاً كبيرا. يتم استخدام تسجيل دخول لمصادقة المستخدم ويستخدم حساب مستخدم قاعدة بيانات للتحقق من الأذونات والوصول إلى قاعدة البيانات. ترتبط عمليات تسجيل الدخول للمستخدمين بمعرف الأمان (SID). تسجيل دخول مطلوب للوصول إلى ملقم SQL Server. تسمى عملية التحقق من صحة تسجيل دخول معينة "التوثيق". يجب تسجيل الدخول هذا ربط لمستخدم قاعدة بيانات SQL Server. استخدم حساب المستخدم للتحكم في الأنشطة التي تم تنفيذها في قاعدة البيانات. في حالة وجود لا حساب مستخدم في قاعدة بيانات لتسجيل دخول معينة، المستخدم الذي يستخدم ذلك تسجيل الدخول لا يمكن الوصول إلى قاعدة البيانات على الرغم من أن قد يكون المستخدم قادراً على الاتصال بملقم SQL server. استثناء واحد لهذا الموقف عند قاعدة البيانات الذي يحتوي على حساب المستخدم "الضيف". يتم تعيين تسجيل دخول ليس لديه حساب مستخدم مقترنة إلى المستخدم الضيف (guest). وبالعكس، إذا مستخدم قاعدة بيانات موجود ولكن لا يوجد أي تسجيل الدخول المقترنة، المستخدم غير قادر على تسجيل الدخول إلى ملقم SQL Server.


عند استعادة قاعدة بيانات إلى خادم آخر أنه يحتوي على مجموعة من المستخدمين والأذونات ولكن قد لا توجد أية تسجيلات الدخول المطابقة أو قد لا تكون عمليات تسجيل الدخول مقترنة بنفس المستخدمين. تعرف هذه الحالة تواجه "عزل المستخدمين."

استكشاف أخطاء المستخدمين المعزولة

عندما تقوم باستعادة نسخة احتياطية من قاعدة بيانات إلى ملقم آخر، قد تواجه مشكلة مع المستخدمين المعزول. السيناريو التالي يوضح المشكلة وكيفية حلها.
  1. إضافة تسجيل دخول إلى قاعدة البيانات الرئيسية، وحدد قاعدة البيانات الافتراضية ك Northwind:
    Use master go sp_addlogin 'test', 'password', 'Northwind'
  2. منح حق الوصول إلى المستخدم الذي قمت بإنشائه:
    Use Northwind go sp_grantdbaccess 'test'
  3. النسخ الاحتياطي لقاعدة البيانات.
    BACKUP DATABASE NorthwindTO DISK = 'C:\MSSQL\BACKUP\Northwind.bak'

  4. استعادة قاعدة البيانات إلى ملقم SQL Server مختلفة:
    RESTORE DATABASE NorthwindFROM DISK = 'C:\MSSQL\BACKUP\Northwind.bak'

    وتتضمن قاعدة البيانات المستعادة مستخدم باسم "اختبار" دون دخول المطابق الذي ينتج "اختبار" يتم عزل.
  5. والآن، للكشف عن المستخدمين المعزولة، تشغيل هذه التعليمات البرمجية:
    Use Northwind go sp_change_users_login 'report'
    الإخراج يسرد كافة عمليات تسجيل الدخول، لها عدم تطابق بين الإدخالات في جدول النظام sysusers ، قاعدة بيانات Northwind، وجدول نظام sysxlogins في قاعدة البيانات الرئيسية.

خطوات لحل المستخدمين المعزولة

  1. تشغيل الأمر التالي للمستخدم المعزولة من الخطوة السابقة:
    Use Northwindgo
    sp_change_users_login 'update_one', 'test', 'test'

    هذا relinks ملقم تسجيل الدخول "اختبار" مع قاعدة البيانات Northwind المستخدم "اختبار". يمكنك أيضا تنفيذ الإجراء sp_change_users_login تخزين تحديث كافة المستخدمين المعزولة مع المعلمة "auto_fix" ولكن هذا غير مستحسن لأنه يحاول SQL Server مطابقة تسجيلات الدخول والمستخدمين حسب الاسم. معظم الحالات يعمل هذا؛ ومع ذلك، إذا كان مقترنا بمستخدم تسجيل الدخول غير صحيحة، قد مستخدم أذونات غير صحيحة.
  2. بعد تشغيل التعليمات البرمجية في الخطوة السابقة، يمكن للمستخدم الوصول قاعدة البيانات. ثم يمكن المستخدم من تغيير كلمة المرور باستخدام الإجراء sp_password تخزين:
    Use master go
    sp_password NULL, 'ok', 'test'

    لا يمكن استخدام هذا الإجراء المخزن لحسابات أمان Microsoft Windows NT. مصادقة المستخدمين الاتصال بملقم SQL Server من خلال حسابه شبكة Windows NT بنظام التشغيل Windows NT؛ ولذلك، يمكن تغيير كلمات المرور الخاصة بهم فقط في Windows NT.


    تغيير كلمة المرور الخاصة بتسجيل الدخول مستخدم آخر عضوا في دور مسؤول النظام فقط.

المراجع

للحصول على معلومات إضافية حول كيفية حل مشكلات الإذن عند نقل قاعدة بيانات بين ملقمات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

240872 INF: كيفية "حل إذن مشاكل عند قاعدة البيانات" هو نقل بين ملقمات SQL
خصائص

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

تعليقات