SQL Server-এ ডেটাবেস অবজেক্টগুলোর উপর আপনি অনুমতি দিতে, ডেলিগেট করতে বা ফেরত নিতে পারেন। এই নিবন্ধে ডিসেন্ট্রালাইজেশন এবং পারমিশন রিভোক করার পদ্ধতি দেখানো হয়েছে।
টেবিলে পারমিশন দেওয়া (GRANT)
টেবিলে ব্যবহারকারীদের পারমিশন দেওয়া যায়, যেখানে দिये যাওয়া অধিকারগুলো হতে পারে SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER বা ALL।
সিনট্যাক্স
GRANT permission ON object TO user;
Permission (অনুমতি)
| অধিকার | বিবরণ |
|---|---|
| SELECT | টেবিলে SELECT স্টেটমেন্ট এক্সিকিউট করার ক্ষমতা |
| INSERT | টেবিলে INSERT কমান্ড এক্সিকিউট করার ক্ষমতা |
| UPDATE | টেবিলে UPDATE কমান্ড এক্সিকিউট করার ক্ষমতা |
| DELETE | টেবিলে DELETE কমান্ড এক্সিকিউট করার ক্ষমতা |
| REFERENCES | টেবিলকে রেফারেন্স করে কনস্ট্রেইন্ট তৈরি করার ক্ষমতা |
| ALTER | টেবিল ডেফিনিশন পরিবর্তনের জন্য ALTER TABLE স্টেটমেন্ট এক্সিকিউট করার ক্ষমতা |
| ALL | ALL টেবিলে সকল অধিকার দেয় না, ANSI-92 স্ট্যান্ডার্ড অনুযায়ী SELECT, INSERT, UPDATE, DELETE এবং REFERENCES অধিকার দেয়। |
Object (অবজেক্ট)
এমপাওয়ারমেন্ট করতে চাওয়া ডেটাবেস অবজেক্টের নাম। টেবিলে এমপাওয়ারমেন্টের ক্ষেত্রে এটি টেবিলের নাম।
User (ব্যবহারকারী)
যাকে এমপাওয়ার করা হবে সেটার ইউজারনেম।
উদাহরণ
যদি আপনি smithj ইউজারের জন্য টেবিলে SELECT, INSERT, UPDATE এবং DELETE পারমিশন দিতে চান, নিচের GRANT কমান্ড রান করুন:
GRANT SELECT, INSERT, UPDATE, DELETE ON nhanvien TO smithj;
ANSI-92 অধীনে সকল অধিকার দিতে চাইলে ALL কিওয়ার্ড ব্যবহার করুন:
GRANT ALL ON nhanvien TO smithj;
শুধু SELECT পারমিশন সকল ইউজারের জন্য দিতে চাইলে পাবলিক (PUBLIC) গ্রুপকে দিন:
GRANT SELECT ON nhanvien TO PUBLIC;
আরও দেখুন: MS SQL Server-এ ইউজার ডিসেন্ট্রালাইজেশন কীভাবে করবেন
টেবিলে পারমিশন ফেরত নেওয়া (REVOKE)
এমপাওয়ারমেন্টের পর দিয়ে দেয়া অধিকার ফেরত নিতে চাইলে REVOKE কমান্ড ব্যবহার করুন, SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER বা ALL পারমিশন একসাথে বা আলাদা করে ফেরত নেওয়া যায়।
সিনট্যাক্স
REVOKE permission ON object FROM user;
Permission (ফেরত নেওয়া অধিকার)
| অধিকার | বিবরণ |
|---|---|
| SELECT | টেবিলে SELECT স্টেটমেন্ট এক্সিকিউট করার ক্ষমতা |
| INSERT | টেবিলে INSERT কমান্ড এক্সিকিউট করার ক্ষমতা |
| UPDATE | টেবিলে UPDATE কমান্ড এক্সিকিউট করার ক্ষমতা |
| DELETE | টেবিলে DELETE কমান্ড এক্সিকিউট করার ক্ষমতা |
| REFERENCES | টেবিলকে রেফারেন্স করে কনস্ট্রেইন্ট তৈরি করার ক্ষমতা |
| ALTER | টেবিল ডেফিনিশন পরিবর্তনের জন্য ALTER TABLE স্টেটমেন্ট এক্সিকিউট করার ক্ষমতা |
| ALL | ALL টেবিলে সকল অধিকার ফেরত নেয় না, ANSI-92 স্ট্যান্ডার্ড অনুযায়ী SELECT, INSERT, UPDATE, DELETE এবং REFERENCES অধিকার ফেরত নেয়। |
Object (অবজেক্ট)
যে ডেটাবেস অবজেক্টের পারমিশন রিভোক করতে চান। টেবিলের ক্ষেত্রে এটি টেবিলের নাম।
User (ব্যবহারকারী)
যার অধিকার রিভোক করা হবে সেটার ইউজারনেম।
উদাহরণ
anderson ইউজারের জন্য টেবিলে DELETE পারমিশন রিভোক করতে:
REVOKE DELETE ON nhanvien FROM anderson;
ANSI-92 অধীনে সকল অধিকার রিভোক করতে:
REVOKE ALL ON nhanvien FROM anderson;
পাবলিক গ্রুপকে (সকল ইউজার) দিয়ে দিয়া SELECT পারমিশন রিভোক করতে:
REVOKE SELECT ON nhanvien FROM PUBLIC;