2012-12-11 12 views
66

मैं निम्न त्रुटिएसक्यूएल सर्वर प्रिंसिपल "dbo" मौजूद नहीं है,

Cannot execute as the database principal because the principal "dbo" 
does not exist, this type of principal cannot be impersonated, 
or you do not have permission. 

मैं ALTER AUTHORIZATION के बारे में पढ़ा हो रही है, लेकिन मैं पता नहीं क्या डेटाबेस इस में क्या हो रहा है। यह त्रुटि बहुत थूक से बाहर हो रही है अक्सर, और हर दिन लगभग 1 जीबी त्रुटि त्रुटि बढ़ता है।

+1

करने का एक और तरीका यह शायद डीबीए साइट के लिए एक सवाल है, लेकिन अगर आप जब त्रुटि दिखाई देती बारे में अधिक जानकारी है, यानी क्या आदेश निष्पादित नहीं किया जा सकता है देना यह मदद मिलेगी।और इस त्रुटि के लिए बहुत सारे खोज परिणाम हैं [इस प्रश्न] (http://stackoverflow.com/questions/2723061/sql-server-2008- प्रतिकृति- failing-with-process-could-not-execute-sp- replcmds); क्या आपने उन्हें देखा है और क्या वे आपकी स्थिति और कॉन्फ़िगरेशन से मेल खाते हैं? – Pondlife

उत्तर

107

मैंने डेटाबेस स्वामी को सेट करके इस समस्या का समाधान किया। मेरे डेटाबेस में इस मुद्दे से पहले कोई मालिक नहीं था। अपने डेटाबेस में इस आदेश पर अमल सिस्टम प्रशासक खाते में स्वामी सेट करने के लिए:

use [YourDatabaseName] EXEC sp_changedbowner 'sa' 
+4

यहां विस्तृत लेख देखें: http://sqlserver-help.com/tag/cannot-execute-as-the-database-principal-because-the-principal/ – orberkov

+2

@ हर्लेस्टाइल, आपका समाधान वास्तव में मेरे लिए अच्छा काम करता है। मेरे डीबी के मालिक बीटीडब्ल्यू था। –

+0

मुझे यह वही समस्या है। मैंने @hurleystylee द्वारा क्वेरी को चलाने की कोशिश की है, लेकिन उसने कुछ भी नहीं किया। जब मैंने 'dbo' चेक किया था तब भी db_owner था और मैं डीबीओ को कुछ भी नहीं कर सकता। यह वास्तव में निराशाजनक हो रहा है। मैं एक चीज़ नहीं बदल सकता –

2

यदि उपरोक्त तो काम नहीं करता है निम्नलिखित का प्रयास करें। जब भी डेटाबेस डेटाबेस के लिए अच्छी तरह से परिभाषित किया गया था तब भी यह मेरे लिए समस्या हल हो गई।

SQL Server 2008 replication failing with: process could not execute 'sp_replcmds'

8

भी ऐसा हो सकता है, जब डेटाबेस एक एक अलग एसक्यूएल सर्वर या उदाहरण से बहाल है। उस स्थिति में, डेटाबेस में सुरक्षा प्रिंसिपल 'डीबीओ' एसक्यूएल सर्वर पर सुरक्षा प्रिंसिपल जैसा नहीं है जिस पर डीबी बहाल किया गया था। मुझे

+0

क्या मैं आपसे यह पूछ सकता हूं कि इसे कैसे हल किया जाए? लॉल, यह वही है जो मैं करने की कोशिश कर रहा हूं। अलग सर्वर के बीच डेटाबेस चित्र ले जाएं और फिर डेटाबेस को लागू। एक बार मैं .bak फ़ाइल आयात और चित्र फ़ोल्डर खोलने की कोशिश की मैं यह त्रुटि हुई। – gunslingor

+1

अरे, यह मेरे लिए काम किया: http://dba.stackexchange.com/questions/50690/error-on-changing-ownership-of-database-from-files-page-in-database-properties-d – ironstone13

+0

@ ironstone13 मेरे लिए काम नहीं किया मैं संदेश है कि मैं dbo –

41

enter image description here

Do रेखांकन मत पूछो कैसे मैं यह जानता हूँ ...।

डाटाबेस सही क्लिक करें -> गुण -> फ़ाइलें -> का चयन करें डेटाबेस मालिक -> का चयन करें [sa] - ठीक

+0

एक बार फिर से नहीं छोड़ सकते हैं वापस इस जवाब का हवाला देते हुए मेरी समस्या हल मिल गया। – teapeng

1

चयनित उत्तर और कुछ अन्य सभी अच्छे हैं। मैं बस एक और एसक्यूएल शुद्ध स्पष्टीकरण देना चाहता हूँ। यह एक ही समाधान के लिए आता है कि कोई (वैध) डेटाबेस स्वामी नहीं है।

डेटाबेस स्वामी खाता dbo जो त्रुटि में वर्णित है हमेशा डेटाबेस के साथ बनाया जाता है। तो यह अजीब लगता है कि यह अस्तित्व में नहीं है लेकिन आप दो चयनों (या एक के साथ जांच सकते हैं लेकिन चलो इसे सरल रखें)।

SELECT [name],[sid] 
FROM [DB_NAME].[sys].[database_principals] 
WHERE [name] = 'dbo' 

जो DB_NAME डेटाबेस में उपयोगकर्ता dbo की सिड पता चलता है और

SELECT [name],[sid] 
FROM [sys].[syslogins] 

इस एसक्यूएल सर्वर उदाहरण के लिए सभी लॉगिन (और उनके SIDs) दिखाने के लिए। ध्यान दें कि यह किसी भी db_name उपसर्ग को नहीं लिखा है, ऐसा इसलिए है क्योंकि प्रत्येक डेटाबेस में उस दृश्य में एक ही जानकारी होती है।

तो से ऊपर की त्रुटि के मामले में डेटाबेस डीबी उपयोगकर्ता को असाइन किए गए एसआईडी के साथ लॉगिन नहीं होगा।

जैसा ऊपर बताया गया है कि आम तौर पर तब होता है जब किसी अन्य कंप्यूटर से डेटाबेस को पुनर्स्थापित किया जाता है (जहां डेटाबेस और डीबीओ उपयोगकर्ता विभिन्न लॉगिन द्वारा बनाए गए थे)। और आप मौजूदा लॉगिन में स्वामित्व बदलकर इसे ठीक कर सकते हैं।

1

यह

ALTER AUTHORIZATION 
ON DATABASE::[DatabaseName] 
TO [A Suitable Login]; 
संबंधित मुद्दे