Как установить разрешения для базы данных в SQL Azure? - PullRequest
8 голосов
/ 11 февраля 2012

Может кто-нибудь сказать мне, как предоставить разрешения для базы данных в SQL Azure?

Когда я выполняю запрос создания таблицы, я получаю следующее сообщение:

CREATE TABLEразрешение отклонено в базе данных testDB

Заранее спасибо:)

Ответы [ 5 ]

6 голосов
/ 10 марта 2015

В идеале вы должны назначать только разрешения, необходимые для пользователя. Если вы только что создали нового пользователя, который вы хотите иметь возможность что-либо делать в новой базе данных, вы можете выполнить следующую команду внутри этой базы данных, используя пользователя-администратора сервера:

EXEC sp_addrolemember 'db_owner', 'YourNewUser';
3 голосов
/ 01 февраля 2016

Посмотрите на эти сценарии. Это может быть не тот сценарий, который вы ищете. Но это поможет вам создать нужный сценарий.

ШАГ1: Запустите эти сценарии на Azure MasterDB * 1003.*

CREATE LOGIN mydb_admin 
WITH PASSWORD = 'nnn' 
GO
CREATE LOGIN mydb_user 
WITH PASSWORD = 'nnnnnnnnn
GO

'

Шаг 2: Запустите приведенные ниже сценарии на фактической базе данных Azure, например, mydb

CREATE USER mydb_admin  FROM LOGIN mydb_admin ;
EXEC sp_addrolemember 'db_datareader', 'mydb_admin';
EXEC sp_addrolemember 'db_datawriter', 'mydb_admin';
GRANT CONNECT TO mydb_admin;
GRANT SELECT TO mydb_admin;
GRANT EXECUTE ON [dbo].[procDumpRowsInto_De_Common] TO [mydb_admin] AS [dbo]

CREATE USER mydb_user FROM LOGIN mydb_user;
EXEC sp_addrolemember 'db_datareader', 'mydb_user';
EXEC sp_addrolemember 'db_executor', 'mydb_user';
GRANT CONNECT TO mydb_user;
GRANT SELECT TO mydb_user;
1 голос
/ 13 февраля 2012

Убедитесь, что вы не пытаетесь запустить сценарий создания таблицы в базе данных master.

1 голос
/ 12 февраля 2012
0 голосов
/ 12 февраля 2012

SQL Azure использует тот же режим безопасности, что и SQL Server.Похоже, вы используете не-dbo пользователя для создания таблицы.Я думаю, что вы можете использовать команду GRANT, чтобы получить соответствующее разрешение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...