নির্বাচিত উত্তর এবং কিছু অন্যান্য সমস্ত ভাল। আমি আরও একটি এসকিউএল বিশুদ্ধ ব্যাখ্যা দিতে চাই। এটি একই সমাধানে আসে যে কোনও (বৈধ) ডাটাবেস মালিক নেই।
dbo
ত্রুটি হিসাবে উল্লিখিত ডাটাবেস মালিক অ্যাকাউন্ট সর্বদা ডাটাবেস দিয়ে তৈরি করা হয়। সুতরাং এটি অদ্ভুত বলে মনে হচ্ছে এটির অস্তিত্ব নেই তবে আপনি দুটি বাছাই করে পরীক্ষা করতে পারেন (বা একটি কিন্তু এটি সহজ রাখা যাক)।
SELECT [name],[sid]
FROM [DB_NAME].[sys].[database_principals]
WHERE [name] = 'dbo'
যা dbo
DB_NAME ডাটাবেসে এবং ব্যবহারকারীদের এসআইডি দেখায়
SELECT [name],[sid]
FROM [sys].[syslogins]
এই এসকিউএল সার্ভারের জন্য সমস্ত লগইন (এবং তাদের এসআইডি) দেখানোর জন্য show লক্ষ্য করুন যে এটি কোনও ডিবি_নাম উপসর্গ লিখেনি, কারণ এটি প্রতিটি ভিউজে একই তথ্য রয়েছে।
সুতরাং উপরের ত্রুটির ক্ষেত্রে এসআইডি-র সাথে লগইন হবে না যা ডাটাবেস ডিবিও ব্যবহারকারীর জন্য নির্ধারিত হয়েছে।
উপরে বর্ণিত হিসাবে যা সাধারণত অন্য কম্পিউটার থেকে ডেটাবেস পুনরুদ্ধার করার সময় ঘটে (যেখানে ডাটাবেস এবং ডিবিও ব্যবহারকারী বিভিন্ন লগইন দ্বারা তৈরি হয়েছিল)। এবং আপনি বিদ্যমান লগইনে মালিকানা পরিবর্তন করে এটি ঠিক করতে পারেন।