PDA

View Full Version : ایجاد یک یوزر و پسورد برای SQL Server 2008 با قابلیت Read-Only بودن



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

espootin
دوشنبه 05 خرداد 1393, 08:55 صبح
سلام

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


-- 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
یک شنبه 09 فروردین 1394, 14:14 عصر
سلام

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


-- 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 هست. پس فقط یکی از این دو را اجرا کنید.

موفق باشید.


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

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

SQLLearner
پنج شنبه 17 اردیبهشت 1394, 11:38 صبح
سلام یه سوال داشتم اگه بخوام کاری کنم که مثلا یوزر ali فقط به دیتابیس test فقط دسترسی داشته باشه و یوزر amir فقط به دیتابیس test1 چطوری باید این کارو انجام داد

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

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

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