2011-06-02 123 views
5

我想添加新的自定義SQL Server角色並將新用戶分別分配給這些適當的角色。我試圖找到如何創建角色,但我無法找到添加的地方。你能指導我如何達到我的要求嗎?在SQL 2008服務器中創建自定義SQL Server角色

+0

您的意思是在數據庫中還是在服務器級別? SPE109有一個很好的觀點,我和marc_s可能會誤解 – gbn 2011-06-02 10:23:53

回答

0

您可以創建數據庫級別的角色看Create Role和更詳細的頁面上的鏈接。

+3

這不是服務器角色,因爲OP問 – gbn 2011-06-02 10:06:06

+0

他們是不是?我不清楚他是問及創建服務器級別還是數據庫級別角色,他們只是詢問在SQL Server中創建角色。 – SPE109 2011-06-02 10:18:24

3

您只需在SQL Server 2011之前授予您想要的登錄權限而不是角色。當然,這並不理想,但它可行。

我們使用它來使應用程序團隊能夠看到正在發生的事情而不會影響DBA。

例如,

CREATE LOGIN [MyDOmain\FolkITrustGroup] FROM WINDOWS; 
GO 
GRANT VIEW SERVER STATE TO [MyDOmain\FolkITrustGroup] 
GRANT VIEW ANY DEFINITION TO [MyDOmain\FolkITrustGroup] 
GO 

編輯:這實現你的要求,而無需使用服務器角色,其目前還不存在......

0

嗯,我沒有安裝SQL服務器所以我現在無法檢查。但我的SQL的知識告訴我:

創建角色:

create role <rolename>; 

授予的privilages:

grant <privilages> on <relation> to <rolename>; 

撤銷的privilages:

revoke <priv> on <rel> from <rolename>; 

授予角色的用戶:

grant <rolename> to user; 

您還可以創建它的層次結構: 例如>

create role supervisor; 
grant select, insert on db.table to supervisor; 
create role manager; 
grant supervisor to manager; 

grant manager to John; 

這是標準SQL的方式。它在當前版本的某些DBMS中尚不可用。不確定SQL服務器。

+0

最後一種說法是錯誤的。它應該是:'EXEC sp_addrolemember'manager','John'' – mpiliszcz 2015-05-21 11:01:34

-1
****A. Creating a server role that is owned by a login**** 


****The following example creates the server role buyers that is owned by login BenMiller.**** 

USE master; 
CREATE SERVER ROLE buyers AUTHORIZATION BenMiller; 
GO 


****B. Creating a server role that is owned by a fixed server role**** 


****The following example creates the server role auditors that is owned the securityadmin fixed server role.**** 

USE master; 
CREATE SERVER ROLE auditors AUTHORIZATION securityadmin; 
GO