سؤال

عندما أحاول إنشاء تسجيل دخول إلى 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 القديم واستخدام الجديد اسم الجهاز\اسم المستخدم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top