Здравствуйте.
У меня следующая проблемма:
нужно создать пользователя в MSSQL 2005, но чтобы он имел доступ только к одной таблице определенной БД, и только на добавлние и чтение.
Подскажите, пожалуйста, как это можно сделать.
Заранее спасибо.
Здравствуйте, 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 выставить все необходимые свойства и сгенерировать скрипт.
Здравствуйте, 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]