2016-07-07 1 views
0

Мне нужно предоставить доступ к определенной базе данных для двух логинов, но я не могу найти правильный запрос, следующий неверный запрос, если кто-то может помочь мне с правильный, который был бы полезенSQL Query, чтобы предоставить авторизацию базы данных нескольким логинам

ALTER AUTHORIZATION ON DATABASE::<DBName> TO {[USER1] AND [USER2]} ; 
+0

вы можете использовать счетчик для не получится. регистрации и ограничить в вашей процедуре меньше или равным максимальному лимиту входа –

ответ

1

Я не знаю, в какой базе данных вы работаете. Я выполнял аналогичную работу для DB SQL Azure. Во-первых, вам нужно создать логин и пользователя на уровне SQL-сервера:

CREATE LOGIN someLogin WITH password='<Password>';
CREATE USER someUserName FROM LOGIN someLogin ;
GO

Во-вторых назначить пользователю роль на уровне сервера SQL:

EXEC sp_addrolemember 'dbmanager', 'someLogin';
EXEC sp_addrolemember 'loginmanager', 'someLogin ';
GO

После этого, необходимо создать базу данных и пользователя для нее:

CREATE DATABASE SomeDB;
GO

Наконец, вы можете создать несколько пользователей на уровне базы данных и назначить их roles.For этой цели вы необходимо выполнить запрос в контексте базы данных, созданной выше:
CREATE USER [someDBUserName] FOR LOGIN [someLogin];
GO

При необходимости можно назначить роли для этого пользователя:

EXEC sp_addrolemember 'db_datareader', 'someDBUserName';
GO

Для SQL AZURE следующие роли на уровне базы данных доступны:
db_owner, db_accessadmin, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader, db_denydatawriter.

+0

Спасибо за быстрый ответ. Я использую sql server 2008 R2, и я уже создал два syslogins, и теперь я просто хочу сделать эти два syslogins как dbowner конкретной базы данных – Abhaya

Смежные вопросы