آموزش گامبهگام SQL Server با دیتابیس نمونهی AdventureWorks | از مبتدی تا پیشرفته | (قسمت ۱۱)

درس ۱۱: مدیریت کاربران و سطح دسترسیها در SQL Server
🎯 هدف درس:
در این درس یاد میگیرید چگونه کاربران را در SQL Server ایجاد، مدیریت و سطوح دسترسی آنها را کنترل کنید. مدیریت صحیح امنیتی، از دسترسی غیرمجاز به دادهها جلوگیری میکند و بخش مهمی از نگهداری پایگاه داده محسوب میشود.
📘 مفهوم نظری:
۱. ایجاد کاربر (Login) در سطح سرور:
CREATE LOGIN testUser
WITH PASSWORD = '12345@Pass';
کاربرد: این دستور یک حساب ورود جدید در سطح سرور ایجاد میکند.
۲. ایجاد کاربر در سطح پایگاه داده:
USE AdventureWorks;
CREATE USER testUser FOR LOGIN testUser;
کاربرد: کاربر به پایگاه داده خاص متصل میشود و میتواند دادهها را بر اساس نقش خود ببیند یا تغییر دهد.
۳. اعطای دسترسی به جدول خاص:
GRANT SELECT ON Person.Person TO testUser;
کاربرد: کاربر فقط اجازه خواندن از جدول مشخصشده را دارد.
۴. جلوگیری از دسترسی (REVOKE و DENY):
REVOKE SELECT ON Person.Person FROM testUser;
DENY DELETE ON Person.Person TO testUser;
تفاوت: REVOKE دسترسی را برمیدارد، DENY بهطور صریح آن را مسدود میکند.
۵. نقشهای امنیتی آماده (Database Roles):
db_datareader– مجوز فقط خواندن همه جدولهاdb_datawriter– مجوز نوشتن در جدولهاdb_owner– کنترل کامل روی پایگاه داده
EXEC sp_addrolemember 'db_datareader', 'testUser';
۶. حذف کاربر یا Login:
DROP USER testUser;
DROP LOGIN testUser;
۷. مشاهده لیست کاربران و نقشها:
SELECT name, type_desc FROM sys.database_principals;
۸. نقشهای سطح سرور (Server Roles):
sysadmin– دسترسی کامل به کل سرورserveradmin– تنظیمات کلی سرورsecurityadmin– مدیریت کاربران و دسترسیهاsetupadmin– نصب و پیکربندی لینکها
ALTER SERVER ROLE sysadmin ADD MEMBER testUser;
۹. تغییر رمز عبور کاربر:
ALTER LOGIN testUser WITH PASSWORD = 'NewPass@2025';
۱۰. استفاده از Schema برای تفکیک دادهها:
CREATE SCHEMA Sales AUTHORIZATION testUser;
کاربرد: برای جداسازی منطقی دادهها بین بخشهای مختلف سازمان و کنترل سطح دسترسی بهتر.
🧠 تمرینهای عملی:
- تمرین ۱: ایجاد کاربر جدید به نام
student1با رمز عبور دلخواه. - تمرین ۲: اضافه کردن کاربر به پایگاه داده AdventureWorks.
- تمرین ۳: اعطای دسترسی SELECT فقط روی جدول Person.Person.
- تمرین ۴: بررسی نقش کاربر با کوئری
sys.database_principals. - تمرین ۵ (چالشی): ایجاد Schema جدید و اختصاص مالکیت آن به کاربر جدید.
💡 پاسخ تمرینهای عملی:
-- تمرین ۱
CREATE LOGIN student1 WITH PASSWORD = 'Strong@123';
-- تمرین ۲
USE AdventureWorks;
CREATE USER student1 FOR LOGIN student1;
-- تمرین ۳
GRANT SELECT ON Person.Person TO student1;
-- تمرین ۴
SELECT name, type_desc FROM sys.database_principals;
-- تمرین ۵ (چالشی)
CREATE SCHEMA Training AUTHORIZATION student1;
📚 جمعبندی درس:
در این درس با مدیریت امنیت SQL Server آشنا شدید — از ساخت Login و User گرفته تا تعریف نقشها و سطوح دسترسی. همچنین یاد گرفتید چگونه میتوان با Roleها و Schemaها کنترل دقیقی بر کاربران اعمال کرد. در درس بعد، سراغ گزارشگیری و ساخت Viewهای آماری میرویم تا دادهها را به شکل کاربردیتری نمایش دهیم.


Creator/Artist: Porsche Newsroom
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.