كيفية حل المشكلات المتعلقة إذن عندما تقوم بنقل قاعدة بيانات بين الملقمات التي تعمل بنظام التشغيل SQL Server

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

اضغط هنا لرابط المقالة باللغة الانجليزية240872
الموجز
توضح هذه المقالة كيفية تعيين تسجيلات الدخول القياسية و المتكاملة لكي تتمكن من حل المشكلات إذن عندما تقوم بنقل قاعدة بيانات بين الملقمات التي تعمل بنظام التشغيل SQL Server.
معلومات أخرى
عندما تقوم بنقل قاعدة بيانات من ملقم واحد يستخدم SQL Server إلى ملقم آخر يقوم بتشغيل SQL Server قد يحدث عدم تطابق بين أرقام تعريف الأمان (SIDs) من تسجيلات الدخول في قاعدة البيانات الرئيسية والمستخدمين في قاعدة بيانات المستخدم. افتراضياً، توفر SQL Server 7.0 و SQL Server 2000 و SQL Server 2005 إجراء النظام المخزن sp_change_users_login تعيين هؤلاء المستخدمين غير متطابقة. على الرغم من ذلك، يمكنك فقط استخدام الإجراء sp_change_users_login تخزين تعيين تسجيلات دخول SQL Server القياسية كما يجب إجراء هذه تعيين مستخدم واحد في كل مرة. لمزيد من المعلومات حول الإجراء sp_change_users_login تخزين راجع الموضوع "sp_change_users_login" في SQL Server 7.0 و SQL Server 2000 و SQL Server 2005 المباشرة.

في SQL Server 7.0 أو الإصدارات الأحدث، يمكنك الاحتفاظ تعيين بين عمليات تسجيل الدخول في قاعدة البيانات الرئيسية المستخدمين في قاعدة بيانات المستخدم باستخدام "معرفات الأمان". يتطلب هذا التعيين في المحافظة على الأذونات الصحيحة على تسجيلات الدخول في قواعد بيانات المستخدم. عند فقدان هذا التعيين تحتوي تسجيلات الدخول المشكلات الإذن التي تتضمن ولكنها لا تقتصر على ما يلي:
  • في حالة تسجيل دخول SQL Server غير موجود على الملقم الجديد يحاول المستخدم تسجيل الدخول يشير ذلك إلى أن المستخدم قد تتلقى رسالة الخطأ التالية:
    ملقم: رسالة 18456, 16, مستوى الدولة 1
    فشل تسجيل الدخول للمستخدم '% ls'.
  • إذا كان يوجد تسجيل دخول SQL Server على الملقم الجديد ولكن يختلف SID في قاعدة البيانات الرئيسية SID في قاعدة بيانات المستخدم, يمكن للمستخدم تسجيل الدخول إلى SQL Server بنجاح; ومع, عندما يحاول المستخدم الوصول إلى قاعدة البيانات ، المستخدم قد تتلقى رسالة الخطأ التالية:
    ملقم: رسالة 916 ، المستوى 14, الدولة 1 Line1
    مستخدم الخادم ' %. * ls 'غير مستخدم صحيح في قاعدة البيانات' %. * ls'.
    ملاحظة في SQL Server 2005، قد تظهر للمستخدم رسالة الخطأ التالية:

    مستخدم الخادم '% s' غير مستخدم صحيح في قاعدة البيانات '% s'. قم بإضافة حساب مستخدم إلى قاعدة البيانات أولاً.
لمزيد من المعلومات حول نموذج SQL Server 7.0 الأمان راجع الورق الأبيض "Microsoft SQL Server 7.0 أمان". لعرض ورقة بيضاء قم بزيارة موقع Microsoft التالي على الويب:للحصول على مزيد من المعلومات حول نموذج SQL Server 2000 الأمان انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
322712Microsoft SQL Server 2000 الأمان S322712 ميزات "و" أفضل الممارسات

قيود

  • إذا كان هناك المستخدمين في الجدول sysusers بدون بادئة اسم الكمبيوتر أو اسم مجال التي تملكها الكائنات يتم الرجوع إليها هذه الكائنات في تطبيقات باستخدام اسم جزئين username. objectname التطبيق قد قطع لأن الإجراء sp_sidmap المخزنة في إعادة تسمية هذه للمستخدمين الذين لديهم بادئة اسم الكمبيوتر أو اسم مجال كما يظهر في جدول sysxlogins. كمحاولة للتغلب على هذه المشكلة بعد sp_sidmap إكمال الإجراء المخزن أو إعادة تسمية المستخدمين الذين تم المتأثرة في الجدول sysusers إلى أسماء السابقة أو اتصل بموفر الدعم الأساسي.
  • لم بعين الاعتبار هذه المقالة الأسماء المستعارة. يجب عليك إدارة الأسماء المستعارة يدوياً.
  • في حالة تسجيل دخول ملقم SQL قياسي غير موجود على ملقم SQL Server جديد ، يمكنك إضافة تسجيل الدخول باستخدام كلمة مرور فارغة. قد تحتاج إلى تغيير كلمة المرور هذه تسجيلات الدخول وفقاً لذلك.
  • إذا تم إنشاء مستخدم في قاعدة بيانات المستخدم مع اسم الذي يختلف عن تلك التي تظهر في الجدول sysxlogins ، فمن المستحيل تعرف المطابق تسجيل الدخول الخاصة بذلك المستخدم. لذلك، قبل تشغيل sp_sidmap الإجراء المخزن:
    1. نقل كافة الكائنات التي يملكها هذا المستخدم إلى قاعدة بيانات المؤقتة.
    2. إفلات للمستخدم، إضافة مستخدم له الاسم الصحيح ثم ثم نقل كافة الكائنات لهذا المستخدم مرة أخرى.
  • إذا كان مستخدم ليس لديها تسجيل دخول المطابق أو بادئة اسم الكمبيوتر المحلي أو اسم مجال ، تظهر رسالة لهذا المستخدم. وتشير هذه الرسالة إلى أن يجب أولاً إضافة المستخدم مستوى Windows ثم قم بإضافتها إلى ملقم SQL مثل تسجيل دخول. بعد القيام بذلك، يجب تشغيل الإجراء sp_sidmap تخزين مرة أخرى.
  • إذا بادئة اسم المجال أو اسم ملقم Windows المحلي للمستخدم تسجيل الدخول المطابق غير موجود في الجدول sysxlogins يحاول إجراء مخزن إضافة هذا أنه تسجيل دخول جديدة إلى ملقم SQL. في حالة مستخدم Windows ، ينشئ رسالة إخراج في إطار نتائج ثم ثم ينشئ في تسجيل الدخول يدوياً بعد أولاً بإضافة مستخدم Windows.
  • في حالة تسجيل الدخول أكثر من مستخدم في الجدول sysusers راجع رسالة إخراج في ملف نتائج و سرد كافة تسجيلات الدخول التي لها نفس اسم المستخدم. عند هذه النقطة التي يجب أن يدوياً intervene للتأكد من أن المستخدم يتوافق مع تسجيل دخول واحد فقط.

    المثال إذا كان الجدول sysusers مستخدم باسم "johndoe" وجدول sysxlogins على تسجيلات الدخول مع أسماء مثل "Test\johndoe" و "Test2\johndoe" عند تشغيل الإجراء المخزن, يمكنك تلقي رسالة تشير إلى أن أحد المستخدمين قام بتسجيل الدخول أكثر من التي يجب على "مسؤول النظام" اختيار واحد. هذه هي المرة الوحيدة التي يجب تشغيل الإجراء المخزن الثاني ، sp_prefix_sysusersname ، التي يتم توفيرها في هذه المقالة. بالإضافة إلى ذلك، يتم وصف هذا الموقف بالتفصيل في ملف Readme.txt.

تعيين تسجيلات الدخول القياسية و المتكاملة

بعد نقل قاعدة بيانات من ملقم واحد يستخدم ملقم SQL Server إلى ملقم آخر يتم تشغيل ملقم SQL Server اتبع هذه الخطوات تدخل الحد الأدنى:

SQL Server 7.0 و SQL Server 2000

  1. تأكد من أنه يوجد تسجيل دخول في الجدول sysxlogins في قاعدة البيانات الرئيسية لكل مستخدم في الجدول sysusers قاعدة البيانات.

    ملاحظة لإضافة "تسجيل دخول SQL Server قياسية" ، راجع الموضوع "sp_addlogin" في "كتب SQL Server الفورية". لإضافة تسجيل دخول SQL Server "متكاملة راجع الموضوع"sp_grantlogin"في" كتب SQL Server الفورية ".
  2. قم بتنزيل الملف MapSids.exe ثم ثم استخراج Sp_sidmap.sql وملفات Readme.txt.
  3. تسجيل الدخول إلى خادم يقوم بتشغيل SQL Server كمسؤول نظام ثم قم بتشغيل الملف Sp_sidmap.sql في قاعدة بيانات المستخدم. تشغيل ملف Sp_sidmap.sql إنشاء الإجراءات المخزنة جهازي sp_sidmap و sp_prefix_sysusersname.
  4. تأكد من أن قاعدة البيانات لم يتم الوصول إلى بواسطة أي مستخدم آخر من تلك الذي يُشغّل الإجراءات المخزنة.
  5. تأكد من أن "محلل استعلام" يعرض النتائج في تنسيق نص بتنسيق غير تنسيق الشبكة. للقيام بذلك، اضغط إما CTRL ^ T مفاتيح, أو انقر فوق الاستعلام ثم انقر فوق نتائج في النص. هذا مهم جداً لتتمكن من عرض النتائج رسائل إخبارية في إطار واحد حفظ الإخراج إلى ملف نصي. قد تحتاج إلى هذا الملف فيما بعد إلى حل بعض عن مخططات.
  6. تأكد من تمريرها بشكل صحيح إلى الإجراء sp_sidmap تخزين لأنه لا يمكن التحقق من ما إذا كان يتم تمرير المعلمات بشكل صحيح:
    EXEC sp_SidMap @old_domain = old_domain_name,@new_domain = new_domain_name,@old_server = old_server_name,@new_server = new_server_name
    استبدال قيم أسماء المجال القديمة والجديدة وأسماء الملقم بشكل مناسب.
  7. حفظ النتائج في ملف واتبع الإرشادات المتوفرة في ملف Readme.txt.

    ملاحظة عند تشغيل هذه الإجراءات المخزنة جدول sysusers هو الجدول الوحيد الذي يتغير في قاعدة البيانات. للعودة إلى حالة حيث يمكنك بدء تشغيل استعادة قاعدة البيانات من النسخة الاحتياطية أو أعد وصله قاعدة البيانات.

SQL Server 2005

إذا كنت تقوم بتشغيل SQL Server 2005 استخدام جملة WITH تسجيل الدخول من عبارة ALTER USER remap مستخدم لتسجيل دخول جديدة. لمزيد من المعلومات، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:ملاحظة لاستخدام جملة WITH تسجيل الدخول من عبارة ALTER USER يجب تطبيق SQL Server 2005 المزود بحزمة الخدمة SP2.
مراجع
لمزيد من المعلومات، انقر فوق أرقام المقالات التالية لعرضها في "قاعدة المعارف لـ Microsoft:
274188"استكشاف أخطاء وإصلاحها للمستخدمين المعزول" موضوع في المباشرة غير كاملة
246133كيفية نقل عمليات تسجيل الدخول وكلمات المرور بين مثيلات SQL Server
168001أخطاء تسجيل الدخول و/أو إذن المستخدم بعد استعادة تفريغ
298897نموذج: يساعد Mapsids.exe خريطة SIDs بين المستخدم "و" قواعد بيانات الرئيسية عندما يتم نقل قاعدة البيانات

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

خصائص

رقم الموضوع: 240872 - آخر مراجعة: 01/27/2009 19:03:08 - المراجعة: 8.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbmt kbhowtomaster KB240872 KbMtar
تعليقات