لا يمكن تثبيت كائنات دعم مخطط بيانات قاعدة البيانات ... لا مالك صالح

StackOverflow https://stackoverflow.com/questions/2043382

سؤال

حاولت إنشاء قاعدة بيانات DIAGRAMM مع SQL Server 2008، ولكن يحدث خطأ:

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

ثم حاولت ما يلي:

EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO

التالي Erorr Pops Up:

MSG 15404، المستوى 16، الحالة 11، السطر 1 لا يمكن الحصول على معلومات حول Windows NT Group / User "WIN-NDKPHUPPNFL Administrator"، رمز الخطأ 0x534.

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

ماذا يمكنني أن أفعل لإصلاح هذا الخطأ المزعج؟

هل كانت مفيدة؟

المحلول

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

ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

أو إذا كنت ترغب في تغيير المالك إلى حساب المسؤول المحلي، فيجب أن يكون:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];

لأن إعادة تسمية الجهاز ل DevPC وقد تم القضاء على الحساب المحلي الذي كان يسمى اسمه WIN-ND...\Administrator وهذا أيضا يبطل المالك الحالي لقاعدة البيانات.

لو SELECT @@SERVERNAME; غير دقيق (يجب أن يقول DevPC)، ثم من أجل التأكد من أن إعادة تسمية الخادم الخاص بك قد استغرقت حظا داخل SQL Server، قد ترغب أيضا في إصدار ما يلي:

EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO

نصائح أخرى

في SQL Server Management Studio القيام بما يلي:

  1. انقر بزر الماوس الأيمن فوق قاعدة البيانات الخاصة بك، واختر الخصائص
  2. انتقل إلى صفحة الخيارات
  3. في القائمة المنسدلة في اليمين المسمى "مستوى التوافق" اختر "SQL Server 2005 (90)" 3-1. اختر "SQL Server 2008" إذا تلقيت خطأ في قابلية المقارنة.
  4. انتقل إلى صفحة الملفات
  5. أدخل "SA" في مربع نص المالك. 5-1 أو انقر على الحذف (...) واختر مالك يمين.
  6. ضرب موافق

بعد القيام بذلك، ستتمكن الآن من الوصول إلى مخططات قاعدة البيانات.

enter image description here

USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

إنها تعمل.

أدخل "SA" بدلا من "SA" في مربع نص المالك. هذا عملت بالنسبة لي.

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

إذن ما فعلته هو تغيير المالك إلى مستخدم محلي وعملت!
أمل أن هذا يساعد شخصاما.

يمكنك تغيير المستخدم من خلال النقر بزر الماوس الأيمن فوق قاعدة البيانات والخصائص والملفات والمالك

هذه ثابتة بالنسبة لي. يقوم بتعيين المالك الموجود ضمن قسم "الملفات" من نافذة خصائص قاعدة البيانات، وهو عبارة عن نصوص بواسطة Studio Management.

USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

بحسب ال وثائق sp_changedbowner تم إهمال هذا الآن.

بناء على إجابة إسرائيل. إجابة هارون هي التباين غير المهمت في هذا.

حدد قاعدة البيانات الخاصة بك - انقر بزر الماوس الأيمن - حدد خصائص

حدد ملف في الجانب الأيسر من الصفحة

في مربع المالك، حدد الزر الذي يحتوي على ثلاث نقاط (...) في ذلك

حدد الآن المستخدم 'SA وانقر فوق موافق

أنا فقط واجهت هذا. لقد قرأت الاقتراحات الموجودة في هذه الصفحة، فضلا عن اقتراحات سلطة SQL (وهو نفس الشيء) وليس أي مما سبق يعمل.

في النهاية، قمت بإزالة الحساب وإعادة إنشاءه (مع نفس اسم المستخدم / كلمة المرور). تماما مثل هذا، كل القضايا ذهبت بعيدا.

للأسف، هذا يعني أنني لا أعرف ما حدث خطأ حتى لا أستطيع مشاركة أي شيء آخر.

1. انقر فوق قاعدة البيانات الخاصة بك، 2. ثم حدد خصائص. 3. حدد الخيار في مستويات التوافق اختر SQL 2008 [100] إذا كنت تعمل مع Microsoft SQL 2008.

4. ثم حدد الملف والكتابة (SA) في مربع نص المالك

100٪ يعمل بالنسبة لي.

طريقة أسهل لحل هذه المشكلات ستكون في النقر بزر الماوس الأيمن على اسم قاعدة البيانات الخاصة بك، واختر "New Query"، واكتب "exec sp_changedbowner" "SA" وتنفيذ الاستعلام. ثم سوف تكون جيدة للذهاب.

يجب أن تدخل كمسؤول، انقر بزر الماوس الأيمن على استوديو Microsofft SQL Server Management و Run Admin

تحتاج فقط إلى تنفيذها في إذن تغيير محرر الاستعلام في قاعدة البيانات :: YourDatabase إلى [Domain Account]؛

المشكلة الحقيقية هي أن المالك الافتراضي (DBO) لا يحتوي على تسجيل دخول معتمد عليه على الإطلاق. لقد حاولت تعيين تسجيل الدخول SA إلى مالك قاعدة البيانات، تلقيت خطأ آخر يفيد "المستخدم أو المجموعة أو الدور" DBO " موجود بالفعل ... ". ومع ذلك، إذا جربت هذا الرمز، فسوف يعمل بالفعل:

exec sp_dbcmptlevel 'yourdb'، '90'؛

اذهب

تغيير إذن في قاعدة البيانات :: yourdb إلى "yourlogin"

اذهب

استخدام [yourdb

اذهب

تنفيذ المستخدم = n'dbo العودة

اذهب

انقر بزر الماوس الأيمن فوق قاعدة البيانات الخاصة بك، ثم حدد خصائص. حدد الخيار في مستويات التوافق اختر SQL 2005 [90] بدلا من عام 2008 إذا كنت تعمل مع Microsoft SQL 2008. ثم حدد الملف والكتابة (SA) في مربع نص المالك. سوف تعمل على الأرجح

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