আমি একজন প্রোগ্রামার, ডিবিএ নই ... বিপজ্জনক হওয়ার পক্ষে আমি যথেষ্ট জানি।
আমি উত্তরাধিকার সূত্রে প্রাপ্ত একটি লিগ্যাসি ব্যবহারকারীর সাথে একটি ডেটাবেস পেয়েছি যা ডাটাবেসের জন্য একজন db_owner। ব্যবসায়ের কারণে আমরা বিদ্যমান ব্যবহারিক টেবিল, স্কিমা ইত্যাদির জন্য এই ব্যবহারকারীর অনুমতিটি সামঞ্জস্য করতে পারি না, তবে কিছু নতুন সারণী তৈরি হচ্ছে এবং আমি কেবল চাই যে এই ব্যবহারকারীর সেলেক্ট অ্যাক্সেস রয়েছে।
এই টেবিলগুলির জন্য এই ব্যবহারকারীর জন্য অনুমতি সেট করা হয়েছে যাতে সलेक्ट নির্বাচন ব্যতীত সবকিছুই DENIED হয়, যা গ্রান্টে সেট করা থাকে।
তবুও যখন এই ব্যবহারকারী (ডাবডমিন) এই টেবিলগুলির একটিতে (অ্যাকাউন্টিংএডিট) একটি নির্বাচন করার চেষ্টা করেন, এই ত্রুটিটি ঘটে:
The SELECT permission was denied on the object 'AccountingAudit', database 'billing', schema 'dbo'.
এই টেবিল / ব্যবহারকারীর জন্য কী অনুমতি নির্ধারিত হয়েছে তা চেষ্টা করে দেখতে এই এসকিউএল চালিয়েছি:
select object_name(major_id) as object,
user_name(grantee_principal_id) as grantee,
user_name(grantor_principal_id) as grantor,
permission_name,
state_desc
from sys.database_permissions
এবং এই আমি ফিরে পেতে:
AccountingAudit dbadmin dbo ALTER DENY
AccountingAudit dbadmin dbo CONTROL DENY
AccountingAudit dbadmin dbo DELETE DENY
AccountingAudit dbadmin dbo INSERT DENY
AccountingAudit dbadmin dbo REFERENCES DENY
AccountingAudit dbadmin dbo SELECT GRANT
AccountingAudit dbadmin dbo TAKE OWNERSHIP DENY
AccountingAudit dbadmin dbo UPDATE DENY
AccountingAudit dbadmin dbo VIEW DEFINITION DENY
AccountingAudit dbadmin dbo VIEW CHANGE TRACKING DENY
মনে হচ্ছে এটি ঠিক কাজ করা উচিত?
আমি নির্বাচিত কলটি করছি এসএসএমএসের মধ্যে থেকে অ্যাকাউন্টিংঅডিট থেকে খুব বেসিক SELECT *। আমি কোনও বিশেষ এসপি_সেকিউটসকিএল বা এর মতো কিছু করছি না।
আমি স্পষ্টভাবে অনুমতি দেওয়ার চেষ্টা করেছি:
GRANT SELECT ON [dbo].AccountingAudit TO dbadmin
এটির কোনও প্রভাব নেই (এটি কেন হবে, উপরের ক্যোয়ারীটি ইতিমধ্যে এটি মঞ্জুরিপ্রাপ্ত দেখায়! ;-)
আমি স্ট্যাকওভারফ্লো ডটকম এবং অন্য কোথাও অনুসন্ধান করেছি এবং এখনও চেষ্টা করেছি এমন কিছুই খুঁজে পাচ্ছি না। আমি ভাবছি যে স্কিমার সেটআপ কীভাবে এটির সাথে কিছু করার আছে। (এই মুহুর্তে আমি স্কিমা সম্পর্কে খুব কম জানি))
কোন ধারনা? ধন্যবাদ!