當前位置:首頁 » 編程語言 » sql什麼角色沒有成員
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql什麼角色沒有成員

發布時間: 2022-11-08 08:06:40

sql 資料庫中syadmin固定伺服器怎麼添加角色

資料庫角色的成員可以分為如下幾類:

Windows用戶組或用戶賬戶

SQL Server登錄

其他角色

SQL Server的安全體系結構中包括了幾個含有特定隱含許可權的角色。除了資料庫擁有者創建的角色之外,還有兩類預定義的角色。這些可以創建的角色可以分為如下幾類:

固定伺服器

固定資料庫

用戶自定義

固定伺服器

由於固定伺服器是在伺服器層次上定義的,因此它們位於從屬於資料庫伺服器的資料庫外面。下表列出了所有現有的固定伺服器角色。

固定伺服器角色

說 明

sysadmin

執行SQL Server中的任何動作

serveradmin

配置伺服器設置

setupadmin

安裝復制和管理擴展過程

securityadmin

管理登錄和CREATE DATABASE的許可權以及閱讀審計

processadmin

管理SQL Server進程

dbcreator

創建和修改資料庫

diskadmin

管理磁碟文件

下面兩個系統過程用來添加或刪除固定伺服器角色成員:

sp_addsrvrolemember

sp_dropsrvrolemember

注意:您不能添加、修改或刪除固定伺服器角色。另外,只有固定伺服器角色的成員才能執行上述兩個系統過程來從角色中添加或刪除登錄賬戶。

sa登錄

sa登錄是系統管理員的登錄。在以前的SQL Server版本中不存在角色,sa登錄具有所有可能的關於系統管理工作的許可權。在SQL Server 2005中,sa登錄保持了向後兼容性。sa登錄永遠是固定伺服器角色syadmin中的成員,並且不能從該角色中刪除。

注意:只有當沒有其他方法登錄到SQL Server系統中時,再使用sa登錄。

固定伺服器角色及其許可權

在某個SQL Server系統中,每個固定伺服器角色都有其隱含的許可權。使用系統過程sp_srvrolepermission可以瀏覽每個固定伺服器角色的許可權。該系統過程的語法形式為:

sp_srvrolepermission[[@srvrolename =] 'role']

如果沒有指定role的值,那麼所有的固定伺服器角色的許可權都將顯示出來。下面的部分將討論每個固定伺服器角色的許可權。

1. sysadmin

固定伺服器角色sysadmin的成員被賦予了SQL Server系統中所有可能的許可權。例如,只有這個角色中的成員(或一個被這個角色中的成員賦予了CREATE DATABASE許可權的用戶)才能夠創建資料庫。

固定伺服器角色和sa登錄之間有著特殊的關系。sa登錄一直都是固定伺服器角色中的成員,並且不能從該角色中刪除。

2. serveradmin

固定伺服器角色serveradmin的成員可以執行如下的動作:

向該伺服器角色中添加其他登錄

運行dbcc pintable命令(從而使表常駐於主內存中)

運行系統過程sp_configure(以顯示或更改系統選項)

運行reconfigure選項(以更新系統過程sp_configure所做的所有改動)

使用shutdown命令關掉資料庫伺服器

運行系統過程sp_tableoption為用戶自定義表設置選項的值

3. setupadmin

固定伺服器角色setupadmin中的成員可以執行如下的動作:

向該伺服器角色中添加其他登錄

添加、刪除或配置鏈接的伺服器

執行一些系統過程,如sp_serveroption

4. securityadmin

固定伺服器角色securitypadmin中的成員可以執行關於伺服器訪問和安全的所有動作。這些成員可以進行如下的系統動作:

向該伺服器角色中添加其他登錄

讀取SQL Server的錯誤日誌

運行如下的系統過程:如sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、sp_defaultlanguage、sp_denylogin、sp_droplinkedsrvlogin、sp_droplogin、sp_grantlogin、sp_helplogins、sp_remoteoption和sp_revokelogin(所有這些系統過程都與系統安全相關。)

5. processadmin

固定伺服器角色processadmin中的成員用來管理SQL Server進程,如中止用戶正在運行的查詢。這些成員可以進行如下的動作:

向該伺服器角色中添加其他登錄

執行KILL命令(以取消用戶進程)

6. dbcreator

固定伺服器角色dbcreator中的成員用來管理與資料庫創建和修改有關的所有動作。這些成員可以進行如下的動作:

向該伺服器角色中添加其他登錄

運行CREATE DATABASE和ALTER DATABASE語句

使用系統過程sp_renamedb來修改資料庫的名稱

7. diskadmin

固定伺服器角色diskadmin的成員可以進行如下與用來存儲資料庫對象的文件和文件組有關的動作:

向該伺服器角色中添加其他登錄

運行如下系統過程:sp_dmpdevice和sp_dropdevice。

運行DISK INIT語句

固定資料庫角色

固定資料庫角色在資料庫層上進行定義,因此它們存在於屬於資料庫伺服器的每個資料庫中。下表列出了所有的固定資料庫角色。

固定資料庫角色

說 明

db_owner

可以執行資料庫中技術所有動作的用戶

db_accessadmin

可以添加、刪除用戶的用戶

db_datareader

可以查看所有資料庫中用戶表內數據的用戶

db_datawriter

可以添加、修改或刪除所有資料庫中用戶表內數據的用戶

db_ddladmin

可以在資料庫中執行所有DDL操作的用戶

db_securityadmin

可以管理資料庫中與安全許可權有關所有動作的用戶

db_backoperator

可以備份資料庫的用戶(並可以發布DBCC和CHECKPOINT語句,這兩個語句一般在備份前都會被執行)

db_denydatareader

不能看到資料庫中任何數據的用戶

db_denydatawriter

不能改變資料庫中任何數據的用戶

除了上表中列出的固定資料庫角色之外,還有一種特殊的固定資料庫角色,名為public,這里將首先介紹這一角色。

public角色

public角色是一種特殊的固定資料庫角色,資料庫的每個合法用戶都屬於該角色。它為資料庫中的用戶提供了所有默認許可權。這樣就提供了一種機制,即給予那些沒有適當許可權的所有用戶以一定的(通常是有限的)許可權。public角色為資料庫中的所有用戶都保留了默認的許可權,因此是不能被刪除的。

一般情況下,public角色允許用戶進行如下的操作:

使用某些系統過程查看並顯示master資料庫中的信息

執行一些不需要一些許可權的語句(例如PRINT)

固定資料庫角色及其許可權

在資料庫中,每個固定資料庫角色都有其特定的許可權。這就意味著對於某個資料庫來說,固定資料庫角色的成員的許可權是有限的。使用系統過程sp_dbfixedrolepermission就可以查看每個固定資料庫角色的許可權。該系統過程的語法為:

sp_db.xedrolepermission [[@rolename =] 'role']

如果沒有指定role的值,那麼所有固定資料庫角色的許可權都可以顯示出來。下面的幾節將討論每個固定資料庫角色的許可權。

1. db_owner

固定資料庫角色db_owner的成員可以在特定的資料庫中進行如下的動作:

向其他固定資料庫角色中添加成員,或從其中刪除成員

運行所有的DDL語句

運行BACKUP DATABASE和BACKUP LOG語句

使用CHECKPOINT語句顯式地啟動檢查點進程

運行下列dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

授予、取消或剝奪每一個資料庫對象上的下列許可權:SELECT、INSERT、UPDATE、DELETE和REFERENCES

使用下列系統過程向資料庫中添加用戶或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember、sp_dropuser、sp_grantdbaccess

使用系統過程sp_rename為任何資料庫對象重新命名

2. db_accessadmin

固定資料庫角色db_accessadmin的成員可以執行與資料庫訪問有關的所有動作。這些角色可以在具體的資料庫中執行下列操作:

運行下列系統過程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess

為Windows用戶賬戶、Windows組和SQL Server登錄添加或刪除訪問

3. dbdatareader

固定資料庫角色dbdatareader的成員對資料庫中的資料庫對象(表或視圖)具有SELECT許可權。然而,這些成員不能把這個許可權授予其他任何用戶或角色。(這個限制對REVOKE語句來說同樣成立。)

4. dbdatawriter

固定資料庫角色dbdatawriter的成員對資料庫中的資料庫對象(表或視圖)具有INSERT、UPDATE和DELETE許可權。然而,這些成員不能把這個許可權授予其他任何用戶或角色。(這個限制對REVOKE語句來說也同樣成立。)

5. db_ddladmin

固定資料庫角色db_ddladmin的成員可以進行如下的動作:

運行所有DDL語句

對任何錶上授予REFERENCESE許可權

使用系統過程sp_procoption和sp_recompile來修改任何存儲過程的結構

使用系統過程sp_rename為任何資料庫對象重命名

使用系統過程sp_tableoption和sp_changeobjectowner分別修改表的選項和任何資料庫對象的擁有者

6. db_securityadmin

固定資料庫角色db_securityadmin的成員可以管理資料庫中的安全。這些成員可以進行如下的動作:

運行與安全有關的所有Transact-SQL語句(GRANT、DENY和REVOKE)

運行以下系統過程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember

7. db_backupoperator

固定資料庫角色db_backupoperator的成員可以管理資料庫備份的過程。這些成員可以進行如下動作:

運行BACKUP DATABASE和BACKUP LOG語句

用CHECKPOINT語句顯式地啟動檢查點進程

運行如下dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

8. db_denydatareader和db_denydatawriter

顧名思義,固定資料庫角色db_denydatareader的成員對資料庫中的資料庫對象(表或視圖)沒有SELECT許可權。如果資料庫中含有敏感數據並且其他用戶不能讀取這些數據,那麼就可以使用這個角色。

固定資料庫角色db_denydatawriter的成員對資料庫中的任何資料庫對象(表或視圖)沒有INSERT、UPDATE和DELETE許可權。

㈡ sql server2005里什麼叫角色分哪兩種

分為:伺服器級別角色和資料庫級別的角色 伺服器級別角色 固定伺服器角色在其作用域內屬於伺服器范圍。固定伺服器角色的每個成員都可以向其所屬角色添加其他登錄名。 固定伺服器角色有: bulkadmin dbcreator diskadmin processadmin securityadmin serveradmin setupadmin sysadmin 資料庫級別的角色 固定資料庫角色是在資料庫級別定義的,並且存在於每個資料庫中。 db_owner 和 db_securityadmin 資料庫角色的成員可以管理固定資料庫角色成員身份;但是,只有 db_owner 資料庫的成員可以向 db_owner 固定資料庫角色中添加成員。 固定資料庫角色包括: db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin db_denydatareader db_denydatawriter db_owner db_securityadmin public 資料庫角色 每個資料庫用戶都屬於 public 資料庫角色。當尚未對某個用戶授予或拒絕對安全對象的特定許可權時,則該用戶將繼承授予該安全對象的 public 角色的許可權。

㈢ SQL查詢問題:想在用戶表查詢哪些系統角色沒有用戶

1, Select 表B.角色名稱,表B.用戶號 from 表B left join 表A on 表B.角色名稱=表A.角色名稱
where 表B.用戶號 is null
2,select * from 表B where 表B.角色名稱 not in (select 角色名稱 from 表A)
3,select * from 表B where not exists (select 角色名稱 from 表A where 表B.角色名稱=表A.角色名稱)

㈣ SQL試題 解答題: 角色有哪幾種,角色和用戶有哪些關系

--用戶指的是資料庫用戶,單純的用戶是沒有任何許可權的,需要給相應的角色才可以
--不明白可以隨時來問我,希望採納
SqlServer固定伺服器角色:
1、bulkadmin伺服器級許可權已授予:ADMINISTERBULKOPERATIONS
2、dbcreator伺服器級許可權已授予:CREATEDATABASE
3、diskadmin伺服器級許可權已授予:ALTERRESOURCESSqlServer2005固定伺服器角色:
4、processadmin伺服器級許可權已授予:ALTERANYCONNECTION、ALTERSERVERSTATE
5、securityadmin伺服器級許可權已授予:ALTERANYLOGIN6、serveradmin伺服器級許可權已授予:ALTERANYENDPOINT、ALTERRESOURCES、ALTERSERVERSTATE、ALTERSETTINGS、SHUTDOWN、VIEWSERVERSTATE
7、setupadmin伺服器級許可權已授予:固定伺服器角色:
8、sysadmin伺服器級許可權已使用GRANT選項授予:CONTROLSERVER

㈤ sql server 2005中資料庫角色成員身份中那些東西都是什麼意思啊,如果只選public會有哪些許可權

12.4 角色 當幾個用戶需要在某個特定的資料庫中執行類似的動作時(這里沒有相應的Windows用戶組),就可以向該資料庫中添加一個角色(role)。資料庫角色指定了可以訪問相同資料庫對象的一組資料庫用戶。資料庫角色的成員可以分為如下幾類:Windows用戶組或用戶賬戶SQL Server登錄其他角色SQL Server的安全體系結構中包括了幾個含有特定隱含許可權的角色。除了資料庫擁有者創建的角色之外,還有兩類預定義的角色。這些可以創建的角色可以分為如下幾類:固定伺服器固定資料庫用戶自定義12.4.1 固定伺服器 由於固定伺服器是在伺服器層次上定義的,因此它們位於從屬於資料庫伺服器的資料庫外面。表12-1列出了所有現有的固定伺服器角色。表12-1 固定伺服器角色固定伺服器角色說 明sysadmin執行SQL Server中的任何動作serveradmin配置伺服器設置setupadmin安裝復制和管理擴展過程securityadmin管理登錄和CREATE DATABASE的許可權以及閱讀審計processadmin管理SQL Server進程dbcreator創建和修改資料庫diskadmin管理磁碟文件下面兩個系統過程用來添加或刪除固定伺服器角色成員:sp_addsrvrolemember sp_dropsrvrolemember 注意:您不能添加、修改或刪除固定伺服器角色。另外,只有固定伺服器角色的成員才能執行上述兩個系統過程來從角色中添加或刪除登錄賬戶。sa登錄 sa登錄是系統管理員的登錄。在以前的SQL Server版本中不存在角色,sa登錄具有所有可能的關於系統管理工作的許可權。在SQL Server 2005中,sa登錄保持了向後兼容性。sa登錄永遠是固定伺服器角色syadmin中的成員,並且不能從該角色中刪除。注意:只有當沒有其他方法登錄到SQL Server系統中時,再使用sa登錄。12.4.2 固定伺服器角色及其許可權 在某個SQL Server系統中,每個固定伺服器角色都有其隱含的許可權。使用系統過程sp_srvrolepermission可以瀏覽每個固定伺服器角色的許可權。該系統過程的語法形式為:sp_srvrolepermission[[@srvrolename =] 'role'] 如果沒有指定role的值,那麼所有的固定伺服器角色的許可權都將顯示出來。下面的部分將討論每個固定伺服器角色的許可權。1. sysadmin 固定伺服器角色sysadmin的成員被賦予了SQL Server系統中所有可能的許可權。例如,只有這個角色中的成員(或一個被這個角色中的成員賦予了CREATE DATABASE許可權的用戶)才能夠創建資料庫。固定伺服器角色和sa登錄之間有著特殊的關系。sa登錄一直都是固定伺服器角色中的成員,並且不能從該角色中刪除。2. serveradmin 固定伺服器角色serveradmin的成員可以執行如下的動作:向該伺服器角色中添加其他登錄運行dbcc pintable命令(從而使表常駐於主內存中)運行系統過程sp_configure(以顯示或更改系統選項)運行reconfigure選項(以更新系統過程sp_configure所做的所有改動)使用shutdown命令關掉資料庫伺服器運行系統過程sp_tableoption為用戶自定義表設置選項的值3. setupadmin 固定伺服器角色setupadmin中的成員可以執行如下的動作:向該伺服器角色中添加其他登錄添加、刪除或配置鏈接的伺服器執行一些系統過程,如sp_serveroption4. securityadmin 固定伺服器角色securitypadmin中的成員可以執行關於伺服器訪問和安全的所有動作。這些成員可以進行如下的系統動作:向該伺服器角色中添加其他登錄讀取SQL Server的錯誤日誌運行如下的系統過程:如sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、sp_defaultlanguage、sp_denylogin、sp_droplinkedsrvlogin、sp_droplogin、sp_grantlogin、sp_helplogins、sp_remoteoption和sp_revokelogin(所有這些系統過程都與系統安全相關。)5. processadmin 固定伺服器角色processadmin中的成員用來管理SQL Server進程,如中止用戶正在運行的查詢。這些成員可以進行如下的動作:向該伺服器角色中添加其他登錄執行KILL命令(以取消用戶進程)6. dbcreator 固定伺服器角色dbcreator中的成員用來管理與資料庫創建和修改有關的所有動作。這些成員可以進行如下的動作:向該伺服器角色中添加其他登錄運行CREATE DATABASE和ALTER DATABASE語句使用系統過程sp_renamedb來修改資料庫的名稱7. diskadmin 固定伺服器角色diskadmin的成員可以進行如下與用來存儲資料庫對象的文件和文件組有關的動作:向該伺服器角色中添加其他登錄運行如下系統過程:sp_dmpdevice和sp_dropdevice。運行DISK INIT語句12.4.3 固定資料庫角色 固定資料庫角色在資料庫層上進行定義,因此它們存在於屬於資料庫伺服器的每個資料庫中。表12-2列出了所有的固定資料庫角色。表12-2 固定資料庫角色固定資料庫角色說 明db_owner可以執行資料庫中技術所有動作的用戶db_accessadmin可以添加、刪除用戶的用戶db_datareader可以查看所有資料庫中用戶表內數據的用戶db_datawriter可以添加、修改或刪除所有資料庫中用戶表內數據的用戶db_ddladmin可以在資料庫中執行所有DDL操作的用戶db_securityadmin可以管理資料庫中與安全許可權有關所有動作的用戶db_backoperator可以備份資料庫的用戶(並可以發布DBCC和CHECKPOINT語句,這兩個語句一般在備份前都會被執行)db_denydatareader不能看到資料庫中任何數據的用戶db_denydatawriter不能改變資料庫中任何數據的用戶除了表12-2中列出的固定資料庫角色之外,還有一種特殊的固定資料庫角色,名為public,這里將首先介紹這一角色。public角色 public角色是一種特殊的固定資料庫角色,資料庫的每個合法用戶都屬於該角色。它為資料庫中的用戶提供了所有默認許可權。這樣就提供了一種機制,即給予那些沒有適當許可權的所有用戶以一定的(通常是有限的)許可權。public角色為資料庫中的所有用戶都保留了默認的許可權,因此是不能被刪除的。(示例12.12給出了public角色的使用方法。)一般情況下,public角色允許用戶進行如下的操作:使用某些系統過程查看並顯示master資料庫中的信息執行一些不需要一些許可權的語句(例如PRINT)12.4.4 固定資料庫角色及其許可權 在資料庫中,每個固定資料庫角色都有其特定的許可權。這就意味著對於某個資料庫來說,固定資料庫角色的成員的許可權是有限的。使用系統過程sp_dbfixedrolepermission就可以查看每個固定資料庫角色的許可權。該系統過程的語法為:sp_db.xedrolepermission [[@rolename =] 'role'] 如果沒有指定role的值,那麼所有固定資料庫角色的許可權都可以顯示出來。下面的幾節將討論每個固定資料庫角色的許可權。1. db_owner 固定資料庫角色db_owner的成員可以在特定的資料庫中進行如下的動作:向其他固定資料庫角色中添加成員,或從其中刪除成員運行所有的DDL語句運行BACKUP DATABASE和BACKUP LOG語句使用CHECKPOINT語句顯式地啟動檢查點進程運行下列dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage授予、取消或剝奪每一個資料庫對象上的下列許可權:SELECT、INSERT、UPDATE、DELETE和REFERENCES使用下列系統過程向資料庫中添加用戶或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember、sp_dropuser、sp_grantdbaccess使用系統過程sp_rename為任何資料庫對象重新命名2. db_accessadmin 固定資料庫角色db_accessadmin的成員可以執行與資料庫訪問有關的所有動作。這些角色可以在具體的資料庫中執行下列操作:運行下列系統過程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess為Windows用戶賬戶、Windows組和SQL Server登錄添加或刪除訪問3. dbdatareader 固定資料庫角色dbdatareader的成員對資料庫中的資料庫對象(表或視圖)具有SELECT許可權。然而,這些成員不能把這個許可權授予其他任何用戶或角色。(這個限制對REVOKE語句來說同樣成立。)4. dbdatawriter 固定資料庫角色dbdatawriter的成員對資料庫中的資料庫對象(表或視圖)具有INSERT、UPDATE和DELETE許可權。然而,這些成員不能把這個許可權授予其他任何用戶或角色。(這個限制對REVOKE語句來說也同樣成立。)5. db_ddladmin 固定資料庫角色db_ddladmin的成員可以進行如下的動作:運行所有DDL語句對任何錶上授予REFERENCESE許可權使用系統過程sp_procoption和sp_recompile來修改任何存儲過程的結構使用系統過程sp_rename為任何資料庫對象重命名使用系統過程sp_tableoption和sp_changeobjectowner分別修改表的選項和任何資料庫對象的擁有者6. db_securityadmin 固定資料庫角色db_securityadmin的成員可以管理資料庫中的安全。這些成員可以進行如下的動作:運行與安全有關的所有Transact-SQL語句(GRANT、DENY和REVOKE)運行以下系統過程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember7. db_backupoperator 固定資料庫角色db_backupoperator的成員可以管理資料庫備份的過程。這些成員可以進行如下動作:運行BACKUP DATABASE和BACKUP LOG語句用CHECKPOINT語句顯式地啟動檢查點進程運行如下dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage8. db_denydatareader和db_denydatawriter 顧名思義,固定資料庫角色db_denydatareader的成員對資料庫中的資料庫對象(表或視圖)沒有SELECT許可權。如果資料庫中含有敏感數據並且其他用戶不能讀取這些數據,那麼就可以使用這個角色。固定資料庫角色db_denydatawriter的成員對資料庫中的任何資料庫對象(表或視圖)沒有INSERT、UPDATE和DELETE許可權。12.4.5 應用程序角色 應用程序角色可以加強對某個特定的應用程序的安全。換句話說,這些角色允許應用程序自己代替SQL Server接管用戶身份驗證的職責。比如,如果公司中的員工只是使用某個特定的應用程序(而不是Transact-SQL語句或其他任何工具)來修改員工的數據信息,那麼就可以為它創建一個應用程序角色。應用程序角色與其他的角色類型有著顯著不同。首先,因為應用程序角色只使用應用程序,因而不需要把許可權直接賦予用戶,所以應用程序角色沒有任何成員。其次,您需要為應用程序設置一個口令來激活它。當應用程序角色被應用程序的會話激活以後,在會話期間,會話就失去了適用於登錄、用戶賬戶或所有資料庫中的角色的許可權。1. 創建應用程序角色 使用下列方法可以創建應用程序角色:CREATE APPLICATION ROLE語句系統過程sp_addapproleCREATE APPLICATION ROLE語句可以為當前資料庫創建一個應用程序角色。該語句有兩個選項:一個與口令的規范有關,另一個用於默認模式的定義,也就是,當伺服器為該角色指定對象的名稱時,伺服器將要搜索的第一個模式。示例12.10顯示了一個應用程序角色的創建方法。示例12.10USE sample CREATE APPLICATION ROLE weekly_reports WITH PASSWORD ='x1y2z3w4', DEFAULT_SCHEMA =my_schema 示例12.10向當前資料庫中添加了一個名為weekly_reports的新的應用程序角色。創建新的應用程序角色的第二種方法是使用系統過程sp_addapprole。使用系統過程sp_addapprole,就可以創建應用程序角色並把許可權授予它們。該系統過程有如下的語法形式:sp_addapprole [@rolename =] 'role', [@passwd_name =] 'password'其中role指定了應用程序角色的名稱,password是相應的口令。(激活角需要用到password的值。)注意:SQL Server將來的版本中將刪除系統過程sp_addapprole這部分內容。請避免使用這一功能。您可以使用CREATE APPLICATION ROLE語句來代替。2. 激活應用程序角色 當啟動連接以後,必須執行sp_setapprole系統過程來激活與應用程序角色有關的許可權。該過程的語法形式如下所示:sp_setapprole[@rolename =] 'role', [@password =] 'password'[,[@encrypt =] 'encrypt_style'] 其中role是在當前資料庫中定義的應用程序角色的名稱。password指定了相應的口令,而encrypt_style則定義了口令的加密樣式。在使用系統過程sp_setapprole激活應用程序角色時,必須知道如下的一些事項:在激活了應用程序角色之後,在當前資料庫中就不能使這個角色無效,而必須等到會話從SQL Server中斷開連接之後才可以。應用程序角色總是和資料庫綁定在一起的。也就是說,應用程序角色的作用域是當前資料庫。如果在會話中改變了當前資料庫,那麼根據那個資料庫的許可權,只能執行那個資料庫中允許的(其他)動作。注意:通過提供應用程序角色的正確口令,任何用戶都可以執行系統過程sp_setapprole。3. 修改應用程序角色 使用下列Transact SQL語句可以修改應用程序角色:ALTER APPLICATION ROLEDROP APPLICATION ROLEALTER APPLICATION ROLE語句可以修改已有的應用程序角色的名稱、口令或默認模式。該語句的語法與CREATE APPLICATION ROLE語句的語法形式類似。要想執行ALTER APPLICATION ROLE語句,需要取得對該對象的ALTER許可權。DROP APPLICATION ROLE語句可以從當前資料庫中刪除應用程序角色。如果應用程序角色擁有任何對象(可保護對象),就不能刪除該角色。注意:您同樣可以使用系統過程sp_dropapprole來刪除某個應用程序角色,但是在SQL Server將來的版本將刪除該系統過程,不再使用它。12.4.6 用戶自定義的資料庫角色 一般來說,在一組資料庫用戶需要在資料庫中執行一套常用操作並且不存在可用的Windows用戶組的情況下,才可能用到用戶自定義的資料庫角色。這些角色通過Transact-SQL語句或SQL Server系統過程進行管理。接下來我們將討論Transact-SQL語句,然後介紹相應的系統過程。1. 角色和Transact-SQL CREATE ROLE語句可以在當前資料庫中創建一個新的資料庫角色。該語句的語法格式為:CREATE ROLE role_name[AUTHORIZATION owner_name] 其中role_name是創建的用戶自定義的角色的名稱。Owner_name指定了即將擁有這個新角色的資料庫用戶或角色。(如果沒有指定用戶,那麼該角色將由執行CREATE ROLE語句的用戶所擁有。)CREATE ROLE語句可以修改用戶自定義的資料庫角色的名稱。類似地,DROP ROLE語句可以從資料庫中刪除角色。擁有資料庫對象(可保護對象)的角色不能從資料庫中刪除。要想刪除這類角色,必須首先轉換那些對象的從屬關系。DROP ROLE語句的語法形式如下所示:DROP ROLE role_name 2. 角色和系統過程 創建或修改用戶自定義角色的另一個方法是使用SQL Server系統過程。下列系統過程可以用來創建和顯示用戶自定義的資料庫角色:sp_addrole sp_addrolemember sp_droprolemember sp_droprole sp_helprole 系統過程sp_addrole可以在當前資料庫中創建一個新的角色。只有資料庫角色db_securityadmin或db_owner才能夠執行這個系統過程。注意:SQL Server 2005中包含的系統過程sp_addrole只是向後兼容的,在將來發布的SQL Server版本中可能不再支持該系統過程。所以請使用CREATE ROLE語句來代替。向當前資料庫中添加了一個角色之後,就可以使用系統過程sp_addrolemember來添加該角色的成員。角色的成員可以是任何SQL Server中的合法用戶、Windows用戶組或用戶,或另一個SQL Server角色。只有資料庫角色db_owner的成員才能執行該系統過程。另外,角色擁有者也可以執行sp_addrolemember來向它所擁有的任何角色中添加成員。系統過程sp_droprolemember可以用來從角色中刪除現有的成員。(但是不能使用這一系統過程來從某個Windows組中刪除現有的Windows用戶。)只有資料庫角色db_owner或db_securityadmin才能執行該系統過程。在使用系統過程sp_droprolemember刪除了角色中的所有成員之後,可以使用系統過程sp_droprole來從當前資料庫中刪除角色。(含有現有成員的角色不能刪除。)只有資料庫角色db_owner或db_securityadmin才能執行該系統過程。注意:SQL Server 2005中包含的系統過程sp_droprole只是向後兼容的,在將來發布的SQL Server版本中可能不再支持該系統過程。所以請使用DROP ROLE語句來代替。系統過程sp_helprole可以用來顯示當前資料庫中某個特定的角色或所有角色(如果沒有提供角色名稱)的相關信息(角色名稱和角色的ID號)。只有資料庫角色db_owner或db_securityadmin才能執行該系統過程。

㈥ SQL中什麼角色沒有成員

SQL中的角色:
當幾個用戶需要在某個特定的資料庫中執行類似的動作時(這里沒有相應的Windows用戶組),就可以向該資料庫中添加一個角色(role)。資料庫角色指定了可以訪問相同資料庫對象的一組資料庫用戶。

資料庫角色的成員可以分為如下幾類:

Windows用戶組或用戶賬戶

SQL Server登錄

其他角色

SQL Server的安全體系結構中包括了幾個含有特定隱含許可權的角色。除了資料庫擁有者創建的角色之外,還有兩類預定義的角色。這些可以創建的角色可以分為如下幾類:

固定伺服器

固定資料庫

用戶自定義

㈦ SQL 角色有哪幾種 角色和用戶有哪些關系

這個不太好說,沒有系統的總結過,簡單的說一下個人理解吧

角色可以分:固定伺服器級別、固定資料庫級別
伺服器級別角色用戶無法創建,而資料庫級別角色用戶可以自定義

角色是許可權的集合,是一個組,用戶從屬於角色,是組的成員
資料庫用戶是資料庫級別上的主體,每個資料庫用戶都是 public 角色的成員,
如果未向某個用戶授予或拒絕對安全對象的特定許可權時,該用戶將繼承授予該對象的 public 角色的許可權

簡單的說,每個角色都有一定的許可權,其中的用戶成員享有其角色擁有的許可權
用戶可以從屬於多個角色,也就是可以同時享有多重許可權

㈧ sql server里 伺服器角色都是什麼意思

各個角色是對應不同許可權的,sql server中有很多許可權,可以把這些許可權組合或單獨賦給各個角色,從而使不同角色的用戶的許可權不同,你列出的都是內置角色。你看看下面這些對你有沒有幫助,希望你解決你的問題。
為便於管理資料庫中的許可權,SQL Server 提供了若干「角色」,這些角色是用於分組其他主體的安全主體。它們類似於 Microsoft Windows 操作系統中的組。資料庫級角色的許可權作用域為資料庫范圍。

SQL Server 中有兩種類型的資料庫級角色:資料庫中預定義的「固定資料庫角色」和您可以創建的「靈活資料庫角色」。

固定資料庫角色是在資料庫級別定義的,並且存在於每個資料庫中。db_owner 和 db_securityadmin 資料庫角色的成員可以管理固定資料庫角色成員身份。但是,只有 db_owner 資料庫角色的成員能夠向 db_owner 固定資料庫角色中添加成員。msdb 資料庫中還有一些特殊用途的固定資料庫角色。

您可以向資料庫級角色中添加任何資料庫帳戶和其他 SQL Server 角色。固定資料庫角色的每個成員都可向同一個角色添加其他登錄名。

重要提示:
請不要將靈活資料庫角色添加為固定角色的成員。這會導致意外的許可權升級。

下表顯示了固定資料庫級角色及其能夠執行的操作。所有資料庫中都有這些角色。

資料庫級別的角色名稱 說明
db_owner
db_owner 固定資料庫角色的成員可以執行資料庫的所有配置和維護活動,還可以刪除資料庫。

db_securityadmin
db_securityadmin 固定資料庫角色的成員可以修改角色成員身份和管理許可權。向此角色中添加主體可能會導致意外的許可權升級。

db_accessadmin
db_accessadmin 固定資料庫角色的成員可以為 Windows 登錄名、Windows 組和 SQL Server 登錄名添加或刪除資料庫訪問許可權。

db_backupoperator
db_backupoperator 固定資料庫角色的成員可以備份資料庫。

db_ddladmin
db_ddladmin 固定資料庫角色的成員可以在資料庫中運行任何數據定義語言 (DDL) 命令。

db_datawriter
db_datawriter 固定資料庫角色的成員可以在所有用戶表中添加、刪除或更改數據。

db_datareader
db_datareader 固定資料庫角色的成員可以從所有用戶表中讀取所有數據。

db_denydatawriter
db_denydatawriter 固定資料庫角色的成員不能添加、修改或刪除資料庫內用戶表中的任何數據。

db_denydatareader
db_denydatareader 固定資料庫角色的成員不能讀取資料庫內用戶表中的任何數據。

有關資料庫級固定角色許可權的特定信息,請參閱固定資料庫角色的許可權(資料庫引擎)。

msdb 角色
msdb 資料庫中包含下表顯示的特殊用途的角色。

msdb 角色名稱 說明
db_ssisadmin

db_ssisoperator

db_ssisltser
這些資料庫角色的成員可以管理和使用 SSIS。從早期版本升級的 SQL Server 實例可能包含使用 Data Transformation Services (DTS)(而不是 SSIS)命名的舊版本角色。有關詳細信息,請參閱 使用 Integration Services 角色。

dc_admin

dc_operator

dc_proxy
這些資料庫角色的成員可以管理和使用數據收集器。有關詳細信息,請參閱數據收集器的安全性。

PolicyAdministratorRole
db_ PolicyAdministratorRole 資料庫角色的成員可以對基於策略的管理策略和條件執行所有配置和維護活動。有關詳細信息,請參閱使用基於策略的管理來管理伺服器。

ServerGroupAdministratorRole

ServerGroupReaderRole
這些資料庫角色的成員可以管理和使用注冊的伺服器組。有關詳細信息,請參閱創建伺服器組。

重要提示:
db_ssisadmin 角色和 dc_admin 角色的成員也許可以將其許可權提升到 sysadmin。之所以會發生此許可權提升,是因為這些角色可以修改 Integration Services 包,而 SQL Server 可以使用 SQL Server 代理的 sysadmin 安全上下文來執行 Integration Services 包。若要防止在運行維護計劃、數據收集組和其他 Integration Services 包時出現此許可權提升,請將運行包的 SQL Server 代理作業配置為使用擁有有限許可權的代理帳戶,或只將 sysadmin 成員添加到 db_ssisadmin 和 dc_admin 角色。

使用伺服器級角色
下表說明了用於伺服器級角色的命令、視圖和函數。

功能 類型 說明
sp_helpdbfixedrole (Transact-SQL)
元數據
返回固定資料庫角色的列表。

sp_dbfixedrolepermission (Transact-SQL)
元數據
顯示固定資料庫角色的許可權。

sp_helprole (Transact-SQL)
元數據
返回當前資料庫中有關角色的信息。

sp_helprolemember (Transact-SQL)
元數據
返回有關當前資料庫中某個角色的成員的信息。

sys.database_role_members (Transact-SQL)
元數據
為每個資料庫角色的每個成員返回一行。

IS_MEMBER (Transact-SQL)
元數據
指示當前用戶是否為指定 Microsoft Windows 組或 Microsoft SQL Server 資料庫角色的成員。

CREATE ROLE (Transact-SQL)
命令
在當前資料庫中創建新的資料庫角色。

ALTER ROLE (Transact-SQL)
命令
更改資料庫角色的名稱。

DROP ROLE (Transact-SQL)
命令
從資料庫中刪除角色。

sp_addrole (Transact-SQL)
命令
在當前資料庫中創建新的資料庫角色。

sp_droprole (Transact-SQL)
命令
從當前資料庫中刪除資料庫角色。

sp_addrolemember (Transact-SQL)
命令
為當前資料庫中的資料庫角色添加資料庫用戶、資料庫角色、Windows 登錄名或 Windows 組。

sp_droprolemember (Transact-SQL)
命令
從當前資料庫的 SQL Server 角色中刪除安全帳戶。

public 資料庫角色
每個資料庫用戶都屬於 public 資料庫角色。如果未向某個用戶授予或拒絕對安全對象的特定許可權時,該用戶將繼承授予該對象的 public 角色的許可權。

㈨ 簡答SQL固定資料庫角色類型及其功能。

許可權角色,是爭對用戶說的,我們新建用戶的時候,往往是新建一類人,然後給這個用戶這一類人的角色,這樣易與管理,否則,用戶多了,每個人許可權又都不同,
在sql中不同的角色,其許可權,操作的對象,都不同,小應用系統用的不多,大一點的公司,特別是用到的《域》的時候,資料庫工作要多人分工的時候,就用到了,有負責備份,有負表開發的,等等。

㈩ 什麼是角色,SQL Server有哪些角色種類

角色是一個強大的工具,使您得以將用戶集中到一個單元中,然後對該單元應用許可權。對一個角色授予、拒絕或廢除的許可權也適用於該角色的任何成員。可以建立一個角色來代表單位中一類工作人員所執行的工作,然後給這個角色授予適當的許可權。當工作人員開始工作時,只須將他們添加為該角色成員,當他們離開工作時,將他們從該角色中刪除。而不必在每個人接受或離開工作時,反復授予、拒絕和廢除其許可權。許可權在用戶成為角色成員時自動生效。

Microsoft�0�3 Windows NT�0�3 和 Windows�0�3 2000 組的使用方式與角色很相似。有關更多信息,請參見組。

如果根據工作職能定義了一系列角色,並給每個角色指派了適合這項工作的許可權,則很容易在資料庫中管理這些許可權。之後,不用管理各個用戶的許可權,而只須在角色之間移動用戶即可。如果工作職能發生改變,則只須更改一次角色的許可權,並使更改自動應用於角色的所有成員,操作比較容易。

在 Microsoft�0�3 SQL Server�6�4 2000 和 SQL Server 7.0 版中,用戶可屬於多個角色。

以下腳本說明登錄、用戶和角色的添加,並為角色授予許可權。

USE master

GO

sp_grantlogin 'NETDOMAIN\John'

GO

sp_defaultdb 'NETDOMAIN\John', 'courses'

GO

sp_grantlogin 'NETDOMAIN\Sarah'

GO

sp_defaultdb 'NETDOMAIN\Sarah', 'courses'

GO

sp_grantlogin 'NETDOMAIN\Betty'

GO

sp_defaultdb 'NETDOMAIN\Betty', 'courses'

GO

sp_grantlogin 'NETDOMAIN\Ralph'

GO

sp_defaultdb 'NETDOMAIN\Ralph', 'courses'

GO

sp_grantlogin 'NETDOMAIN\Diane'

GO

sp_defaultdb 'NETDOMAIN\Diane', 'courses'

GO

USE courses

GO

sp_grantdbaccess 'NETDOMAIN\John'

GO

sp_grantdbaccess 'NETDOMAIN\Sarah'

GO

sp_grantdbaccess 'NETDOMAIN\Betty'

GO

sp_grantdbaccess 'NETDOMAIN\Ralph'

GO

sp_grantdbaccess 'NETDOMAIN\Diane'

GO

sp_addrole 'Professor'

GO

sp_addrole 'Student'

GO

sp_addrolemember 'Professor', 'NETDOMAIN\John'

GO

sp_addrolemember 'Professor', 'NETDOMAIN\Sarah'

GO

sp_addrolemember 'Professor', 'NETDOMAIN\Diane'

GO

sp_addrolemember 'Student', 'NETDOMAIN\Betty'

GO

sp_addrolemember 'Student', 'NETDOMAIN\Ralph'

GO

sp_addrolemember 'Student', 'NETDOMAIN\Diane'

GO

GRANT SELECT ON StudentGradeView TO Student

GO

GRANT SELECT, UPDATE ON ProfessorGradeView TO Professor

GO

該腳本給 John 和 Sarah 教授提供了更新學生成績的許可權,而學生 Betty 和 Ralph 只能選擇他們自己的成績。Diane 因同時教兩個班,所以添加到兩個角色中。ProfessorGradeView 視圖應將教授限制在自己班學生的行上,而 StudentGradeView 應限制學生只能選擇自己的成績。

SQL Server 2000 和 SQL Server 7.0 版在安裝過程中定義幾個固定角色。可以在這些角色中添加用戶以獲得相關的管理許可權。下面是伺服器范圍內的角色。

固定伺服器角色
描述

sysadmin
可以在 SQL Server 中執行任何活動。

serveradmin
可以設置伺服器范圍的配置選項,關閉伺服器。

setupadmin
可以管理鏈接伺服器和啟動過程。

securityadmin
可以管理登錄和 CREATE DATABASE 許可權,還可以讀取錯誤日誌和更改密碼。

processadmin
可以管理在 SQL Server 中運行的進程。

dbcreator
可以創建、更改和除去資料庫。

diskadmin
可以管理磁碟文件。

bulkadmin
可以執行 BULK INSERT 語句。

可以從 sp_helpsrvrole 獲得固定伺服器角色的列表,可以從 sp_srvrolepermission 獲得每個角色的特定許可權。

每個資料庫都有一系列固定資料庫角色。雖然每個資料庫中都存在名稱相同的角色,但各個角色的作用域只是在特定的資料庫內。例如,如果 Database1 和 Database2 中都有叫 UserX 的用戶 ID,將 Database1 中的 UserX 添加到 Database1 的 db_owner 固定資料庫角色中,對 Database2 中的 UserX 是否是 Database2 的 db_owner 角色成員沒有任何影響。

固定資料庫角色
描述

db_owner
在資料庫中有全部許可權。

db_accessadmin
可以添加或刪除用戶 ID。

db_securityadmin
可以管理全部許可權、對象所有權、角色和角色成員資格。

db_ddladmin
可以發出 ALL DDL,但不能發出 GRANT、REVOKE 或 DENY 語句。

db_backupoperator
可以發出 DBCC、CHECKPOINT 和 BACKUP 語句。

db_datareader
可以選擇資料庫內任何用戶表中的所有數據。

db_datawriter
可以更改資料庫內任何用戶表中的所有數據。

db_denydatareader
不能選擇資料庫內任何用戶表中的任何數據。

db_denydatawriter
不能更改資料庫內任何用戶表中的任何數據。

可以從 sp_helpdbfixedrole 獲得固定資料庫角色的列表,可以從 sp_dbfixedrolepermission 獲得每個角色的特定許可權。

資料庫中的每個用戶都屬於 public 資料庫角色。如果想讓資料庫中的每個用戶都能有某個特定的許可權,則將該許可權指派給 public 角色。如果沒有給用戶專門授予對某個對象的許可權,他們就使用指派給 public 角色的許可權。