Как грамотно создать юзера в MSSQL 2005?
От: rzdmk  
Дата: 19.10.07 06:43
Оценка:
Здравствуйте.
У меня следующая проблемма:
нужно создать пользователя в MSSQL 2005, но чтобы он имел доступ только к одной таблице определенной БД, и только на добавлние и чтение.

Подскажите, пожалуйста, как это можно сделать.
Заранее спасибо.
Re: Как грамотно создать юзера в MSSQL 2005?
От: SilentNick  
Дата: 19.10.07 07:53
Оценка:
Здравствуйте, rzdmk, Вы писали:

R>нужно создать пользователя в MSSQL 2005, но чтобы он имел доступ только к одной таблице определенной БД, и только на добавлние и чтение.


Можно попробовать так:

USE [master]
CREATE LOGIN [name] WITH PASSWORD=N'pass', DEFAULT_DATABASE=[DATABASE_NAME],
    CHECK_EXPIRATION=ON, CHECK_POLICY=ON

USE [DATABASE_NAME] CREATE USER [name] FOR LOGIN [name] 
    ALTER USER [name] WITH DEFAULT_SCHEMA=[dbo]
    EXEC sp_addrolemember N'db_accessadmin', N'name'
    EXEC sp_addrolemember N'db_datareader', N'name'
    EXEC sp_addrolemember N'db_datawriter', N'name'
    GRANT INSERT TO [name]
    GRANT SELECT TO [name]
    GRANT UPDATE TO [name]

Ну или в мастере Managment Studio выставить все необходимые свойства и сгенерировать скрипт.
Re[2]: Как грамотно создать юзера в MSSQL 2005?
От: _d_m_  
Дата: 19.10.07 08:44
Оценка:
Здравствуйте, SilentNick, Вы писали:

SN>Здравствуйте, rzdmk, Вы писали:


R>>нужно создать пользователя в MSSQL 2005, но чтобы он имел доступ только к одной таблице определенной БД, и только на добавлние и чтение.


SN>Можно попробовать так:


SN>
SN>USE [master]
SN>CREATE LOGIN [name] WITH PASSWORD=N'pass', DEFAULT_DATABASE=[DATABASE_NAME],
SN>    CHECK_EXPIRATION=ON, CHECK_POLICY=ON

SN>USE [DATABASE_NAME] CREATE USER [name] FOR LOGIN [name] 
SN>    ALTER USER [name] WITH DEFAULT_SCHEMA=[dbo]
SN>    EXEC sp_addrolemember N'db_accessadmin', N'name'
SN>    EXEC sp_addrolemember N'db_datareader', N'name'
SN>    EXEC sp_addrolemember N'db_datawriter', N'name'
SN>    GRANT INSERT TO [name]
SN>    GRANT SELECT TO [name]
SN>    GRANT UPDATE TO [name]
SN>

SN>Ну или в мастере Managment Studio выставить все необходимые свойства и сгенерировать скрипт.

А за такие вещи можно и минус получить. Правильно будет так:
CREATE LOGIN [name] WITH PASSWORD=N'pass';
-- или
CREATE LOGIN [ADVWORKS\fogisu] FROM WINDOWS;
GO

create user [name] for login [name] with default schema = dbo;
-- или
create user [name] for login [ADVWORKS\fogisu] with default schema = dbo;
GO
grant insert, select to [name] on [MyTable]
Re[3]: Как грамотно создать юзера в MSSQL 2005?
От: alexsoff Россия  
Дата: 19.10.07 08:56
Оценка:
Здравствуйте, _d_m_, Вы писали:
___>А за такие вещи можно и минус получить. Правильно будет так:
Ну а совсем правильно будет, если создать роль в базе со всеми привилегиями и привязать юзера к ней.
Re[4]: Как грамотно создать юзера в MSSQL 2005?
От: _d_m_  
Дата: 19.10.07 08:59
Оценка:
Здравствуйте, alexsoff, Вы писали:

A>Здравствуйте, _d_m_, Вы писали:

___>>А за такие вещи можно и минус получить. Правильно будет так:
A>Ну а совсем правильно будет, если создать роль в базе со всеми привилегиями и привязать юзера к ней.

Согласен. Только я бы сказал так: со всеми необходимыми привилегиями
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.