चयनित उत्तर और कुछ अन्य सभी अच्छे हैं। मैं सिर्फ एक अधिक SQL शुद्ध विवरण देना चाहता हूं। यह एक ही समाधान के लिए आता है कि कोई (वैध) डेटाबेस मालिक नहीं है।
डेटाबेस स्वामी खाता dbo
जो त्रुटि में वर्णित है, हमेशा डेटाबेस के साथ बनाया जाता है। तो यह अजीब लगता है कि यह मौजूद नहीं है, लेकिन आप दो चयनों (या एक लेकिन चलो इसे सरल रखें) के साथ जांच कर सकते हैं।
SELECT [name],[sid]
FROM [DB_NAME].[sys].[database_principals]
WHERE [name] = 'dbo'
जो dbo
DB_NAME डेटाबेस में उपयोगकर्ता का SID दिखाता है और
SELECT [name],[sid]
FROM [sys].[syslogins]
इस SQL सर्वर आवृत्ति के लिए सभी लॉगिन (और उनके SID) दिखाने के लिए। ध्यान दें कि यह किसी भी db_name उपसर्ग को नहीं लिखा है, ऐसा इसलिए है क्योंकि हर डेटाबेस में उस दृश्य में समान जानकारी है।
तो ऊपर त्रुटि के मामले में SID के साथ लॉगिन नहीं होगा जो डेटाबेस dbo उपयोगकर्ता को सौंपा गया है।
जैसा कि ऊपर बताया गया है कि आमतौर पर दूसरे कंप्यूटर से डेटाबेस को पुनर्स्थापित करते समय होता है (जहां डेटाबेस और डीबो उपयोगकर्ता अलग-अलग लॉगिन द्वारा बनाए गए थे)। और आप स्वामित्व को मौजूदा लॉगिन में बदलकर इसे ठीक कर सकते हैं।