دسته بندی ها
22:36 1401/03/31

حالت های multi-user و single و restricted در Sql Server چیست ؟

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : Sql Server

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3439
هوش مصنوعی

پاسخ هوش مصنوعی

در SQL Server، حالت های مختلفی برای دسترسی به پایگاه داده وجود دارد که هر کدام مشخصات و کاربردهای خاص خود را دارند. در زیر به توضیح حالت های multi-user، single-user و restricted-user پرداخته شده است:

1. حالت Multi-User:

حالت multi-user به این معنی است که چندین کاربر می توانند به طور همزمان به پایگاه داده دسترسی داشته باشند. این حالت در اکثر سناریوها استفاده می شود و به کاربران اجازه می دهد تا به داده ها دسترسی پیدا کنند و آنها را ویرایش کنند. این حالت معمولاً در محیط های تولیدی و در زمانی که نیاز به دسترسی همزمان به داده ها باشد، استفاده می شود.

2. حالت Single-User:

حالت single-user به این معنی است که فقط یک کاربر می تواند به پایگاه داده دسترسی داشته باشد. این حالت معمولاً برای کارهای مدیریتی و نگهداری استفاده می شود، مانند بازیابی پایگاه داده یا اجرای تغییرات ساختاری که نیاز به قفل کردن پایگاه داده دارد. در حالت single-user، اگر کاربری بخواهد به پایگاه داده دسترسی پیدا کند، باید قبلاً دیگر کاربران را خارج کند.

3. حالت Restricted-User:

حالت restricted-user به این معنی است که فقط کاربران خاصی می توانند به پایگاه داده دسترسی داشته باشند. این کاربران معمولاً به صورت خاص تنظیم شده اند و به آنها اجازه دسترسی به پایگاه داده داده می شود. این حالت معمولاً زمانی استفاده می شود که پایگاه داده در حال نگهداری است و نیاز است تا تعدادی از کاربران خاص بتوانند به آن دسترسی داشته باشند، در حالی که دیگر کاربران به طور کامل از دسترسی محروم هستند.

به طور کلی، انتخاب حالت مناسب بستگی به نیازهای خاص شما و وضعیت پایگاه داده دارد. برای عملیات روزمره، حالت multi-user مناسب است، در حالی که برای کارهای مدیریتی یا نگهداری، ممکن است به حالت single-user یا restricted-user نیاز داشته باشید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 22:58 1401/03/31

دسترسی های Multi-User, Single-User و Restricted-User در Sql Server

اول از همه به شما بگم که دیتابیس در Sql Server در سه حالت Single , Restricted و Multi-User می تونه قرار بگیره. هر کدام از این Mode نشان دهنده سطحی از دسترسی کاربران به دیتابیس می باشد.

 

حالات multi و single و restricted-user در Sql Server

 

حالت Single-User چیست ؟ دسترسی به دیتابیس در این حالت چگونه است ؟

در حالت دسترسی Single-User تنها یک کاربر می تواند به دیتابیس دسترسی داشته باشد. این کاربر هر کاربری می تواند باشد. در واقع به محض اینکه اولین کاربر با دیتابیس ارتباط برقرار کرد ارتباط برای سایرین غیرممکن می شود.

دقت کنید برای اینکه دیتابیس را به حالت تک کاربره تبدیل کنید حتما سرویس Sql Server Agent را Stop کنید و AUTO_UPDATE_STATISTICS_ASYNC را برابر با false قرار بدهید.(تصویر زیر)

تبدیل دیتابیس به single-user

دقت کنید اگر Sql Server Agent را Stop نکنید و یا گزینه مشخص شده در تصویر بالا را off نکنید ممکن است تنها کاربر مجاز (کاربری که ادمین می باشد و دسترسی کامل دارد) رشته اتصال را در اختیار بگیرد و سایر کاربران در هیچ زمانی نتوانند دسترسی به دیتابیس برقرار کنند. (این مدل اتصال برای سیستم های امنیتی می تواند مورد استفاده قرار بگیرد.)

 

چگونه دیتابیس را به حالت Single-User تبدیل کنیم ؟

کافیه دستور زیر را در Sql Server اجرا کنید :

USE db_name
GO
ALTER DATABASE db_name
SET SINGLE_USER WITH ROLLBACK IMMEDIATE

 

 

حالت Restricted-User چیست ؟ دسترسی به دیتابیس در این حالت چگونه است ؟

در این حالت از دسترسی فقط کاربران db-owner و db-creator و یا کاربرانی که نقش sysAdmin را دارند می توانند به دیتابیس دسترسی داشته باشند. دقت کنید که ادمین می تواند با تعریف مجوزهای دسترسی کاربران دیگری را نیز به لیست کاربران مجاز به دسترسی اضافه کند.

 

چگونه دیتابیس را به حالت Restriced-User تبدیل کنیم ؟

کافیه دستور زیر را در Sql Server اجرا کنید :

USE db_name
GO
ALTER DATABASE db_name
SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE

 

حالت Multi-User چیست ؟ دسترسی به دیتابیس در این حالت چگونه است ؟

این حالت پیش فرض می باشد و تمامی کاربران به دیتابیس دسترسی دارند. این حالت برای اکثر پروژه ها استفاده می شود. البته در این حالت هم ادمین میتواند مجوزهایی تعریف کند و برخی کاربران را محدود کند.

 

چگونه دیتابیس را به حالت Multi-User تبدیل کنیم ؟

کافیه دستور زیر را در Sql Server اجرا کنید :

USE db_name
GO
ALTER DATABASE db_name
SET Multi_USER
ویرایش شده در سه شنبه 31 خرداد 1401 ساعت 22:58:25
به این پاسخ امتیاز بدهید    0
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود