আমি জানি যে আমি ব্যবহার করে কার্যকর অনুমতিগুলি জিজ্ঞাসা করতে পারি sys.fn_my_permissions
:
USE myDatabase;
SELECT * FROM fn_my_permissions('dbo.myTable', 'OBJECT')
entity_name | subentity_name | permission_name
------------------------------------------------
dbo.myTable | | SELECT
dbo.myTable | | UPDATE
...
এটি আমাকে বলে যে বর্তমান ব্যবহারকারীর myTable
ডাটাবেসে SELECT, INSERT, UPDATE ইত্যাদি অনুমতি রয়েছে কিনা myDatabase
।
ব্যবহারকারীর কেন এই অনুমতি রয়েছে তা সহজেই খুঁজে পাওয়া সম্ভব ? উদাহরণস্বরূপ, আমি একটি ফাংশন রাখতে চাই fn_my_permissions_ex
যা একটি অতিরিক্ত reason
কলাম দেয়:
USE myDatabase;
SELECT * FROM fn_my_permissions_ex('dbo.myTable', 'OBJECT')
entity_name | subentity_name | permission_name | reason
------------------------------------------------------------------------------------------------------------------------------------
dbo.myTable | | SELECT | granted to database role public
dbo.myTable | | UPDATE | member of group MYDOMAIN\Superusers, which belongs to database role db_datawriter
...
দুর্ভাগ্যক্রমে, এসকিউএল সার্ভার ডকুমেন্টেশনে আমি এই জাতীয় কোনও ফাংশন খুঁজে পাইনি। এমন কোনও সরঞ্জাম বা স্ক্রিপ্ট রয়েছে যা এই কার্যকারিতাটি সরবরাহ করে?
fn_my_permission_ex
, তাই আমি রফতানি করতে পারি এমন কিছুই নেই। আমি জিজ্ঞাসা করছি that কার্যকারিতা সহ কোনও ফাংশন বা সরঞ্জাম রয়েছে কিনা ।