পরিভাষা সম্পর্কে নিশ্চিত করা প্রথম। একটি লগইন একটি উদাহরণ স্তরের সুরক্ষা অধ্যক্ষ ( sys.server_principals
) এবং একজন ব্যবহারকারী একটি ডাটাবেস স্তর সুরক্ষা অধ্যক্ষ ( sys.database_principals
)। তারা এসআইডি (সুরক্ষা শনাক্তকারী) দ্বারা একসাথে যোগদান করেছে। যদি আপনি উপরের সিস্টেমের ভিউগুলিতে সন্ধান করেন তবে আপনি দেখতে পাবেন কীভাবে তারা এসআইডি দ্বারা 1: 1 ফর্ম্যাটে একসাথে যোগদান করেছেন। এটি একটি ডাটাবেসে 1 জনকে লগইন করুন। একটি লগইন একাধিক ব্যবহারকারী থাকতে পারে তবে তাদের অবশ্যই বিভিন্ন ডাটাবেসে থাকতে হবে।
সুতরাং আপনার প্রতিটি লগইনের জন্য আপনার ডাটাবেসে একটি ব্যবহারকারী তৈরি করতে হবে যা আপনি এটিতে অ্যাক্সেস রাখতে চান। এটি একটি সহজ যথেষ্ট কমান্ড।
CREATE USER [UserName] FROM LOGIN [LoginName]
সেখান থেকে আপনি আপনার সমস্ত ব্যবহারকারীকে একটি একক (বা একাধিক) ভূমিকাতে রাখতে পারেন। ভূমিকা হল এমন একটি ধারক যা প্রতিটি ব্যবহারকারীর (ডাটাবেসের ভূমিকার জন্য) বা লগইন (উদাহরণস্বরূপ ভূমিকা) এর সাথে অনুমতিগুলি নিয়ে থাকে এবং সেই অনুমতিগুলি ভাগ করে। এমন একটি বিল্ট ইন ডাটাবেস ভূমিকা বলা হয় db_datareader
যা প্রতিটি টেবিলে পঠিত অ্যাক্সেস দেয় এবং ডেটাবেসে দেখায়। আপনি সেই ভূমিকাটিতে আপনার সমস্ত ব্যবহারকারীকে যুক্ত করতে পারেন। তবে, আরও ভাল ধারণাটি হ'ল একটি নতুন ভূমিকা তৈরি করবে এবং এটিকে ভূমিকাটিতে যুক্ত করবে db_datareader
। তারপরে আপনার সমস্ত ব্যবহারকারীকে নতুন ভূমিকার সাথে যুক্ত করুন। এখানে সুবিধাটি হ'ল আপনি যদি গ্রুপটিতে অতিরিক্ত অনুমতি যুক্ত করতে চান তবে কেবল ভূমিকাটির অনুমতিগুলি পরিবর্তন করে আপনি পারেন।
এর মাধ্যমে ভূমিকাটি তৈরি করুন:
CREATE ROLE RoleName
কোনও ভূমিকাতে একজন ব্যবহারকারীকে যুক্ত করুন (বা অন্যের ভূমিকাতে)
EXEC sp_addrolemember 'RoleName','UserName'
বা আপনি যদি 2012 বা তার চেয়ে বেশি হন
ALTER ROLE [RoleName] ADD MEMBER [UserName]