# پایگاه‌های داده > SQL Server > امنیت در SQL Server >  ایجاد یک یوزر و پسورد برای SQL Server 2008 با قابلیت Read-Only بودن

## sepahbod

سلام
دوستان من در SQL Server 2008 یک یوزر دارم  مثلا با نام ali که به بانک اطلاعاتی به نام  test متصل است و دسترسی این یوزر به این بانک اطلاعاتی کامل است (یعنی کاربر ali  می تواند هر گونه تغییری را بر روی بانک اطلاعاتی test انجام دهد) . حالا من می خواهم کاربر دیگری با نام amir ایجاد کنم که بتواند فقط اطلاعات بانک اطلاعاتی test را بخواند و نتواند هیچ گونه تغییری را در این بانک اطلاعاتی ایجاد بکند . دراصل می خوام بانک اطلاعاتی test برای کاربری به نام amir به صورت Read-Only یاهمان فقط خواندنی باشه .
با تشکر

----------


## espootin

سلام

این کوری شما شما را به جوابتون می خواهد رساند.


-- 1 : Create windows mapped login
CREATE LOGIN [Amir] FROM WINDOWS WITH DEFAULT_DATABASE = [test];
GO
-- 2 : create sql login
CREATE LOGIN [Amir] WITH PASSWORD = 'P@ssw0rd' 
			, default_database = [test]
			, check_policy = off
			, check_expiration = off;


-- Create database user
use [test]
go


CREATE USER [Amir] FOR LOGIN [Amir] with default_schema = [dbo];
go


-- get database role
EXEC sp_addrolemember db_datareader,  [Amir];




توجه داشته باشید دستور یک برای ساخت Windows Login هست و  دستور دو برای ساخت SQL Login هست. پس فقط یکی از این دو را اجرا کنید.

موفق باشید.

----------


## seyed_h

> سلام
> 
> این کوری شما شما را به جوابتون می خواهد رساند.
> 
> 
> -- 1 : Create windows mapped login
> CREATE LOGIN [Amir] FROM WINDOWS WITH DEFAULT_DATABASE = [test];
> GO
> -- 2 : create sql login
> ...



سلام یه سوال داشتم اگه بخوام کاری کنم که مثلا یوزر ali  فقط به دیتابیس test  فقط دسترسی داشته باشه و یوزر amir فقط به دیتابیس test1 چطوری باید این کارو انجام داد

لطفا منو راهنمایی کنین

----------


## SQLLearner

> سلام یه سوال داشتم اگه بخوام کاری کنم که مثلا یوزر ali  فقط به دیتابیس test  فقط دسترسی داشته باشه و یوزر amir فقط به دیتابیس test1 چطوری باید این کارو انجام داد
> 
> لطفا منو راهنمایی کنین


روی  Login مرتبط در پوشه  Logins در  managment studio  دوبار کلیک نمایید.
در صفحه باز شده به User Mapping  بروید .
از اینجا در کادر   users mapped to this login  میتوانید با تیک زدن گزینه های موجود ، تعیین کنید که user  مرتبط با آن login  به کدام دیتا بیس ها دسترسی داشته باشد.

- نکته :  بعد از اتمام کار و Refresh  کردن server  ،  وقتی دوباره کانکت میشوید ، لیست مابقی دیتا بیس های موجود در آن سرور را خواهید دید ، اما امکان  Browse  کردن را نخواهید داشت . :لبخند:

----------

