لا يمكن إضافة تسجيل دخول خادم Sql
-
09-06-2019 - |
سؤال
عندما أحاول إنشاء تسجيل دخول إلى SQL Server بالقول
CREATE LOGIN [ourdomain\SQLAccessGroup] FROM WINDOWS;
لقد حصلت على هذا الخطأ
الخادم الرئيسي 'ourdomain\SQLAccessGroup' موجود بالفعل.
ومع ذلك، عندما أحاول هذا الرمز
DROP LOGIN [ourdomain\SQLAccessGroup]
لقد حصلت على هذا الخطأ
لا يمكن إسقاط تسجيل الدخول 'ourdomain\SQLAccessGroup'، لأنه غير موجود أو ليس لديك إذن.
المستخدم الذي أقوم بتنفيذ هذا الرمز هو مسؤول النظام.بالإضافة إلى ذلك، المستخدم ourdomain\SQLAccessGroup
لا تظهر في هذا الاستعلام
select * from sys.server_principals
هل لدى أي شخص أي أفكار؟
المحلول
ما زلنا نكافح من أجل فهم كيف لهذه المشكلة، ولكن يبدو أن [ourdomain\SQLAccessGroup] تم تسميته بواسطة مستشار لاسم مستخدم مختلف (هذا جزء من تثبيت MS CRM).تمكنا أخيرًا من استخدام بعض المنطق وبعض مقارنات SID القديمة الجيدة لتحديد من كان يلعب لعبة المحتال.
جاء تلميحنا عندما حاولت إضافة تسجيل الدخول كمستخدم إلى قاعدة البيانات (نظرًا لأنه من المفترض أنه موجود بالفعل) وحصلت على هذا الخطأ:
The login already has an account under a different user name.
لذلك، بدأت بفحص كل مستخدم لقاعدة البيانات وتمكنت من معرفة الجاني.لقد قمت في النهاية بتتبعه وتمكنت من إعادة تسمية المستخدم وتسجيل الدخول حتى يعمل تثبيت CRM.أتساءل عما إذا كان بإمكاني أن أدفع لهم مبلغ 165.00 دولارًا للساعة مقابل وقتي...:-)
نصائح أخرى
هل هذا عندما تقوم بالاستعادة من نسخة احتياطية أو شيء من هذا؟لقد وجدت أن ما يلي يناسبني في المواقف التي أواجه فيها مشكلات مع حسابات المستخدمين في SQL
EXEC sp_change_users_login ‘Auto_Fix’, ‘user_in_here’
حدث هذا لي عندما قمت بتثبيت SQL Server باستخدام اسم مستخدم Windows ثم قمت بإعادة تسمية اسم الكمبيوتر واسم مستخدم Windows من Windows.لا يزال خادم SQL يحتوي على "اسم الكمبيوتر\اسم المستخدم" القديم في العقدة الخاصة به وهي Server->Security->Logins.
الحل هو الذهاب إلى الخادم->الأمان->تسجيلات الدخول وانقر بزر الماوس الأيمن -> إعادة تسمية مستخدم Windows القديم واستخدام الجديد اسم الجهاز\اسم المستخدم.