2012-02-11 47 views
8

任何人都可以請告訴我如何授予SQL Azure中的數據庫權限?如何在sql azure中設置數據庫的權限?

當我執行創建表的查詢,我用下面的消息結束了:

create table權限在數據庫TESTDB否認

感謝提前:)

+0

你連接什麼用戶SQL Azure的作爲?它是否具有創建表的權限(例如,創建SQL Azure服務器時創建的admin用戶)? – mcollier 2012-02-11 17:48:25

回答

0

SQL Azure使用與SQL Server相同的安全模式。看起來你使用非dbo用戶來創建表。我認爲你可以使用GRANT命令獲得適當的權限。

+0

SQL Azure在安全性方面與SQL Server略有不同 - 爲登錄和用戶IIRC使用不同的角色。 – jamiebarrow 2012-08-30 09:37:20

1

確保您沒有試圖在master數據庫中運行create table腳本。

6

理想情況下,您只需分配用戶所需的權限。如果您剛剛創建了希望能在新的數據庫做任何一個新的用戶,你可以使用服務器管理員用戶該數據庫中運行以下命令:

EXEC sp_addrolemember 'db_owner', 'YourNewUser'; 
3

看看這些腳本。這可能不是你要找for.But這將幫助您創建要

STEP1腳本的確切腳本:冉在Azure上masterdb這些腳本

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

'

第二步:冉下面的腳本實際蔚藍分貝如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; 
+0

請仔細檢查您的代碼格式。它看起來像'GO是錯誤的類型。 – 2016-02-01 19:47:10