"

ایجاد و مدیریت کاربر (User) در Sql Server

زهیر صفری 1404/04/30 0 47
لینک کوتاه http://zoheirsoftware.com/z/2a7516d4c |
ایجاد User در SQL Server,مدیریت کاربر در SQL Server,آموزش User در SQL Server

مقدمه

در سیستم‌های مدیریت پایگاه داده مانند SQL Server، امنیت و مدیریت دسترسی به داده‌ها از اهمیت بالایی برخوردار است.

برای کنترل دسترسی کاربران به پایگاه داده، باید ابتدا حساب‌های کاربری ایجاد کرده و سطوح دسترسی مناسب برای هر یک از آن‌ها تعریف کنیم.

این فرآیند با استفاده از مفاهیم Login و User انجام می‌شود.

 

📌 مفهوم User در SQL Server

در SQL Server، مفاهیم زیر با هم تفاوت دارند:

Login

به حساب کاربری‌ای گفته می‌شود که اجازه دسترسی به SQL Server را دارد (در سطح سرور).

User

به حسابی گفته می‌شود که در سطح یک دیتابیس مشخص تعریف می‌شود و دسترسی به اشیای پایگاه داده را کنترل می‌کند.

به‌عبارتی:
Login برای ورود به سرور
User برای دسترسی به دیتابیس

مفهوم User در SQL Server

 

انواع کاربران (User Types)

SQL User

کاربری که از طریق Login وارد شده و به یک دیتابیس خاص وصل شده است.

Windows User

کاربری که با استفاده از Windows Authentication تعریف شده است.

Contained User

کاربری که مستقیماً در یک دیتابیس تعریف شده و وابسته به Login نیست (برای دیتابیس‌های مستقل).

انواع کاربران (User Types)

🛠 مراحل ایجاد User در SQL Server

✅ مرحله ۱: ایجاد Login (در سطح سرور)

CREATE LOGIN test_zoheir WITH PASSWORD = 'df#@%426a!';

✅ مرحله ۲: ایجاد User در یک دیتابیس خاص

ابتدا به دیتابیس مورد نظر بروید:

USE TestDB;
GO

سپس:

CREATE USER test_user FOR LOGIN test_zoheir;

اکنون test_user به دیتابیس TestDB متصل شده است.

 

🎯 اختصاص نقش (Role) به کاربر

ALTER ROLE db_datareader ADD MEMBER test_user;
ALTER ROLE db_datawriter ADD MEMBER test_user;

db_datareader: اجازه خواندن داده‌ها

db_datawriter: اجازه نوشتن داده‌ها

 

 

🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟

با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!

این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.

با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.

پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!

 ⇐همین حالا شروع کنید و به دنیای داده‌ها بپیوندید!

 

 

 

✏️ به‌روزرسانی و تغییرات کاربر

🔄 تغییر نام کاربر

 ALTER USER test_user WITH NAME = new_test_user;


🔄 تغییر Login مرتبط با User

 ALTER USER new_test_user WITH LOGIN =test_zoheir ;


🗑 حذف User از دیتابیس
  

DROP USER test_user;


⚠️ توجه: قبل از حذف، مطمئن شوید کاربر به object مهمی متصل نباشد و Login از سرور حذف نشده باشد.

مراحل ایجاد User در SQL Server

 

💡 مثال‌های کاربردی  User در SQL Server

🎓 مثال ۱: ایجاد Login و User با دسترسی خواندن اطلاعات
 

CREATE LOGIN reader_login WITH PASSWORD = 'Reader@123!';
USE SalesDB;
CREATE USER reader_user FOR LOGIN reader_login;
ALTER ROLE db_datareader ADD MEMBER reader_user;

🎓 مثال ۲: ایجاد کاربر فقط برای نوشتن داده
 

CREATE LOGIN writer_login WITH PASSWORD = 'Writer@123!';
USE SalesDB;
CREATE USER writer_user FOR LOGIN writer_login;
ALTER ROLE db_datawriter ADD MEMBER writer_user;

 


🎓 مثال ۳: ایجاد User مستقل (Contained User)
  

USE ContainedDB;
CREATE USER standalone_user WITH PASSWORD = 'Standalone123!';

این نوع کاربر بدون نیاز به Login وارد دیتابیس می‌شود.

 

❓ سوالات متداول   User در SQL Server


1. تفاوت بین Login و User چیست؟

Login در سطح سرور ایجاد می‌شود، اما User در سطح دیتابیس تعریف می‌شود. Login بدون User نمی‌تواند به دیتابیس دسترسی داشته باشد.

2. آیا می‌توان چند User برای یک Login تعریف کرد؟

بله، می‌توان یک Login را به چند دیتابیس وصل کرد و در هر دیتابیس یک User متفاوت برای آن تعریف نمود.

3. User حذف شود، آیا Login هم حذف می‌شود؟

خیر، حذف User تنها در سطح دیتابیس انجام می‌شود. Login همچنان در سرور باقی می‌ماند.

4. چطور می‌توان دید که یک User به چه Roleهایی عضو است؟

با کوئری زیر می‌توانید نقش‌های کاربر را ببینید:

 

SELECT dp.name AS DatabaseRole, mp.name AS UserName
FROM sys.database_role_members rm
JOIN sys.database_principals dp ON rm.role_principal_id = dp.principal_id
JOIN sys.database_principals mp ON rm.member_principal_id = mp.principal_id
WHERE mp.name = 'test_user';

 

سوالات متداول   User در SQL Server

📝 تمرین برای دانشجو برای تسلط در مبحث  User در SQL Server

 

یک Login به نام student_login ایجاد کنید.

یک User به نام student_user در دیتابیس TrainingDB ایجاد کرده و فقط دسترسی خواندن به جداول را بدهید.

دسترسی نوشتن به کاربر را اضافه کرده و سپس حذف نمایید.

کاربر را Rename کنید.

کاربر را حذف کرده و بررسی کنید که Login همچنان وجود دارد یا نه.

 

✅ جمع‌بندی آموزش ایجاد و مدیریت User در SQL Server

در این آموزش، به طور کامل با مفهوم User در SQL Server آشنا شدیم و تفاوت آن با Login را بررسی کردیم. دانستیم که:

Login در سطح سرور و برای ورود کاربران به SQL Server تعریف می‌شود.

User در سطح دیتابیس برای مدیریت دسترسی کاربران به جداول، نماها، رویه‌ها و دیگر اشیای دیتابیس به کار می‌رود.

ایجاد و مدیریت User شامل مراحل ساخت Login، ایجاد User در دیتابیس، اختصاص Role مناسب و در صورت نیاز، تغییر یا حذف آن است.

با استفاده از مثال‌های کاربردی، دیدیم که چگونه می‌توان کاربران را فقط برای خواندن، نوشتن یا دسترسی کامل تعریف کرد. همچنین سؤالات متداول و تمرین‌هایی جهت درک بهتر و تمرین عملی دانشجو ارائه شد.

🔐 مدیریت کاربران و تعیین دقیق سطح دسترسی آن‌ها، یکی از مهم‌ترین اقدامات برای افزایش امنیت و بهره‌وری در SQL Server است.

 

 

دوره های مرتبط
آموزش Sql,آموزش sqlserver, آموزش جامع Sqlserver

آموزش پایگاه داده SqlServer

پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .

997,000 تومان

3.1k بازدید

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.