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