حالت های multi-user و single و restricted در Sql Server چیست ؟
لطفا بفرمایید Mode های multi-user و single-user و restricted-user در Sql Server چیست ؟ و کاربرد آنها چه می باشد ؟
پاسخ هوش مصنوعی
در 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 نیاز داشته باشید.
دسترسی های Multi-User, Single-User و Restricted-User در Sql Server
اول از همه به شما بگم که دیتابیس در Sql Server در سه حالت Single , Restricted و Multi-User می تونه قرار بگیره. هر کدام از این Mode نشان دهنده سطحی از دسترسی کاربران به دیتابیس می باشد.

حالت Single-User چیست ؟ دسترسی به دیتابیس در این حالت چگونه است ؟
در حالت دسترسی Single-User تنها یک کاربر می تواند به دیتابیس دسترسی داشته باشد. این کاربر هر کاربری می تواند باشد. در واقع به محض اینکه اولین کاربر با دیتابیس ارتباط برقرار کرد ارتباط برای سایرین غیرممکن می شود.
دقت کنید برای اینکه دیتابیس را به حالت تک کاربره تبدیل کنید حتما سرویس Sql Server Agent را Stop کنید و AUTO_UPDATE_STATISTICS_ASYNC را برابر با false قرار بدهید.(تصویر زیر)

دقت کنید اگر 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
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- تفاوت اوراکل و Sql Server چیست
- جابه جایی سطر و ستون در Sql Server
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
- دلیل پرش 1000 تایی خودکار فیلد identity در Sql server
- مشکل نمایش ندادن Data Type موقع تایپ در Sql Server
- کار با تاریخ شمسی وساعت (استفاده از توابع )