日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLServer中服务器角色和数据库角色权限详解角色

發(fā)布時(shí)間:2024/3/12 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLServer中服务器角色和数据库角色权限详解角色 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.



當(dāng)幾個(gè)用戶需要在某個(gè)特定的數(shù)據(jù)庫中執(zhí)行類似的動(dòng)作時(shí)(這里沒有相應(yīng)的Windows用戶組),就可以向該數(shù)據(jù)庫中添加一個(gè)角色(role)。數(shù)據(jù)庫角色指定了可以訪問相同數(shù)據(jù)庫對(duì)象的一組數(shù)據(jù)庫用戶。

數(shù)據(jù)庫角色的成員可以分為如下幾類:

Windows用戶組或用戶賬戶

SQL?Server登錄

其他角色

SQL?Server的安全體系結(jié)構(gòu)中包括了幾個(gè)含有特定隱含權(quán)限的角色。除了數(shù)據(jù)庫擁有者創(chuàng)建的角色之外,還有兩類預(yù)定義的角色。這些可以創(chuàng)建的角色可以分為如下幾類:

固定服務(wù)器

固定數(shù)據(jù)庫

用戶自定義

固定服務(wù)器


由于固定服務(wù)器是在服務(wù)器層次上定義的,因此它們位于從屬于數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫外面。下表列出了所有現(xiàn)有的固定服務(wù)器角色。

固定服務(wù)器角色

說??? 明

sysadmin

執(zhí)行SQL?Server中的任何動(dòng)作

serveradmin

配置服務(wù)器設(shè)置

setupadmin

安裝復(fù)制和管理擴(kuò)展過程

securityadmin

管理登錄和CREATE DATABASE的權(quán)限以及閱讀審計(jì)

processadmin

管理SQL?Server進(jìn)程

dbcreator

創(chuàng)建和修改數(shù)據(jù)庫

diskadmin

管理磁盤文件


下面兩個(gè)系統(tǒng)過程用來添加或刪除固定服務(wù)器角色成員:

sp_addsrvrolemember

sp_dropsrvrolemember

注意:您不能添加、修改或刪除固定服務(wù)器角色。另外,只有固定服務(wù)器角色的成員才能執(zhí)行上述兩個(gè)系統(tǒng)過程來從角色中添加或刪除登錄賬戶。

sa登錄


sa登錄是系統(tǒng)管理員的登錄。在以前的SQL?Server版本中不存在角色,sa登錄具有所有可能的關(guān)于系統(tǒng)管理工作的權(quán)限。在SQL?Server 2005中,sa登錄保持了向后兼容性。sa登錄永遠(yuǎn)是固定服務(wù)器角色syadmin中的成員,并且不能從該角色中刪除。

注意:只有當(dāng)沒有其他方法登錄到SQL?Server系統(tǒng)中時(shí),再使用sa登錄。

固定服務(wù)器角色及其權(quán)限


在某個(gè)SQL?Server系統(tǒng)中,每個(gè)固定服務(wù)器角色都有其隱含的權(quán)限。使用系統(tǒng)過程sp_srvrolepermission可以瀏覽每個(gè)固定服務(wù)器角色的權(quán)限。該系統(tǒng)過程的語法形式為:

sp_srvrolepermission[[@srvrolename =] 'role']

如果沒有指定role的值,那么所有的固定服務(wù)器角色的權(quán)限都將顯示出來。下面的部分將討論每個(gè)固定服務(wù)器角色的權(quán)限。

1. sysadmin


固定服務(wù)器角色sysadmin的成員被賦予了SQL?Server系統(tǒng)中所有可能的權(quán)限。例如,只有這個(gè)角色中的成員(或一個(gè)被這個(gè)角色中的成員賦予了CREATE DATABASE權(quán)限的用戶)才能夠創(chuàng)建數(shù)據(jù)庫。

固定服務(wù)器角色和sa登錄之間有著特殊的關(guān)系。sa登錄一直都是固定服務(wù)器角色中的成員,并且不能從該角色中刪除。

2. serveradmin


固定服務(wù)器角色serveradmin的成員可以執(zhí)行如下的動(dòng)作:

向該服務(wù)器角色中添加其他登錄

運(yùn)行dbcc pintable命令(從而使表常駐于主內(nèi)存中)

運(yùn)行系統(tǒng)過程sp_configure(以顯示或更改系統(tǒng)選項(xiàng))

運(yùn)行reconfigure選項(xiàng)(以更新系統(tǒng)過程sp_configure所做的所有改動(dòng))

使用shutdown命令關(guān)掉數(shù)據(jù)庫服務(wù)器

運(yùn)行系統(tǒng)過程sp_tableoption為用戶自定義表設(shè)置選項(xiàng)的值

3. setupadmin


固定服務(wù)器角色setupadmin中的成員可以執(zhí)行如下的動(dòng)作:

向該服務(wù)器角色中添加其他登錄

添加、刪除或配置鏈接的服務(wù)器

執(zhí)行一些系統(tǒng)過程,如sp_serveroption

4. securityadmin


固定服務(wù)器角色securitypadmin中的成員可以執(zhí)行關(guān)于服務(wù)器訪問和安全的所有動(dòng)作。這些成員可以進(jìn)行如下的系統(tǒng)動(dòng)作:

向該服務(wù)器角色中添加其他登錄

讀取SQL?Server的錯(cuò)誤日志

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

5. processadmin


固定服務(wù)器角色processadmin中的成員用來管理SQL?Server進(jìn)程,如中止用戶正在運(yùn)行的查詢。這些成員可以進(jìn)行如下的動(dòng)作:

向該服務(wù)器角色中添加其他登錄

執(zhí)行KILL命令(以取消用戶進(jìn)程)

6. dbcreator


固定服務(wù)器角色dbcreator中的成員用來管理與數(shù)據(jù)庫創(chuàng)建和修改有關(guān)的所有動(dòng)作。這些成員可以進(jìn)行如下的動(dòng)作:

向該服務(wù)器角色中添加其他登錄

運(yùn)行CREATE DATABASE和ALTER DATABASE語句

使用系統(tǒng)過程sp_renamedb來修改數(shù)據(jù)庫的名稱

7. diskadmin


固定服務(wù)器角色diskadmin的成員可以進(jìn)行如下與用來存儲(chǔ)數(shù)據(jù)庫對(duì)象的文件和文件組有關(guān)的動(dòng)作:

向該服務(wù)器角色中添加其他登錄

運(yùn)行如下系統(tǒng)過程:sp_ddumpdevice和sp_dropdevice。

運(yùn)行DISK INIT語句

固定數(shù)據(jù)庫角色


固定數(shù)據(jù)庫角色在數(shù)據(jù)庫層上進(jìn)行定義,因此它們存在于屬于數(shù)據(jù)庫服務(wù)器的每個(gè)數(shù)據(jù)庫中。下表列出了所有的固定數(shù)據(jù)庫角色。

固定數(shù)據(jù)庫角色

說??? 明

db_owner

可以執(zhí)行數(shù)據(jù)庫中技術(shù)所有動(dòng)作的用戶

db_accessadmin

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

db_datareader

可以查看所有數(shù)據(jù)庫中用戶表內(nèi)數(shù)據(jù)的用戶

db_datawriter

可以添加、修改或刪除所有數(shù)據(jù)庫中用戶表內(nèi)數(shù)據(jù)的用戶

db_ddladmin

可以在數(shù)據(jù)庫中執(zhí)行所有DDL操作的用戶

db_securityadmin

可以管理數(shù)據(jù)庫中與安全權(quán)限有關(guān)所有動(dòng)作的用戶

db_backoperator

可以備份數(shù)據(jù)庫的用戶(并可以發(fā)布DBCC和CHECKPOINT語句,這兩個(gè)語句一般在備份前都會(huì)被執(zhí)行)

db_denydatareader

不能看到數(shù)據(jù)庫中任何數(shù)據(jù)的用戶

db_denydatawriter

不能改變數(shù)據(jù)庫中任何數(shù)據(jù)的用戶


除了上表中列出的固定數(shù)據(jù)庫角色之外,還有一種特殊的固定數(shù)據(jù)庫角色,名為public,這里將首先介紹這一角色。

public角色


public角色是一種特殊的固定數(shù)據(jù)庫角色,數(shù)據(jù)庫的每個(gè)合法用戶都屬于該角色。它為數(shù)據(jù)庫中的用戶提供了所有默認(rèn)權(quán)限。這樣就提供了一種機(jī)制,即給予那些沒有適當(dāng)權(quán)限的所有用戶以一定的(通常是有限的)權(quán)限。public角色為數(shù)據(jù)庫中的所有用戶都保留了默認(rèn)的權(quán)限,因此是不能被刪除的。

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

使用某些系統(tǒng)過程查看并顯示master數(shù)據(jù)庫中的信息

執(zhí)行一些不需要一些權(quán)限的語句(例如PRINT)

固定數(shù)據(jù)庫角色及其權(quán)限


在數(shù)據(jù)庫中,每個(gè)固定數(shù)據(jù)庫角色都有其特定的權(quán)限。這就意味著對(duì)于某個(gè)數(shù)據(jù)庫來說,固定數(shù)據(jù)庫角色的成員的權(quán)限是有限的。使用系統(tǒng)過程sp_dbfixedrolepermission就可以查看每個(gè)固定數(shù)據(jù)庫角色的權(quán)限。該系統(tǒng)過程的語法為:

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

如果沒有指定role的值,那么所有固定數(shù)據(jù)庫角色的權(quán)限都可以顯示出來。下面的幾節(jié)將討論每個(gè)固定數(shù)據(jù)庫角色的權(quán)限。

1. db_owner


固定數(shù)據(jù)庫角色db_owner的成員可以在特定的數(shù)據(jù)庫中進(jìn)行如下的動(dòng)作:

向其他固定數(shù)據(jù)庫角色中添加成員,或從其中刪除成員

運(yùn)行所有的DDL語句

運(yùn)行BACKUP DATABASE和BACKUP LOG語句

使用CHECKPOINT語句顯式地啟動(dòng)檢查點(diǎn)進(jìn)程

運(yùn)行下列dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

授予、取消或剝奪每一個(gè)數(shù)據(jù)庫對(duì)象上的下列權(quán)限:SELECT、INSERT、UPDATE、DELETE和REFERENCES

使用下列系統(tǒng)過程向數(shù)據(jù)庫中添加用戶或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember、sp_dropuser、sp_grantdbaccess

使用系統(tǒng)過程sp_rename為任何數(shù)據(jù)庫對(duì)象重新命名

2. db_accessadmin


固定數(shù)據(jù)庫角色db_accessadmin的成員可以執(zhí)行與數(shù)據(jù)庫訪問有關(guān)的所有動(dòng)作。這些角色可以在具體的數(shù)據(jù)庫中執(zhí)行下列操作:

運(yùn)行下列系統(tǒng)過程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess

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

3. dbdatareader


固定數(shù)據(jù)庫角色dbdatareader的成員對(duì)數(shù)據(jù)庫中的數(shù)據(jù)庫對(duì)象(表或視圖)具有SELECT權(quán)限。然而,這些成員不能把這個(gè)權(quán)限授予其他任何用戶或角色。(這個(gè)限制對(duì)REVOKE語句來說同樣成立。)

4. dbdatawriter


固定數(shù)據(jù)庫角色dbdatawriter的成員對(duì)數(shù)據(jù)庫中的數(shù)據(jù)庫對(duì)象(表或視圖)具有INSERT、UPDATE和DELETE權(quán)限。然而,這些成員不能把這個(gè)權(quán)限授予其他任何用戶或角色。(這個(gè)限制對(duì)REVOKE語句來說也同樣成立。)

5. db_ddladmin


固定數(shù)據(jù)庫角色db_ddladmin的成員可以進(jìn)行如下的動(dòng)作:

運(yùn)行所有DDL語句

對(duì)任何表上授予REFERENCESE權(quán)限

使用系統(tǒng)過程sp_procoption和sp_recompile來修改任何存儲(chǔ)過程的結(jié)構(gòu)

使用系統(tǒng)過程sp_rename為任何數(shù)據(jù)庫對(duì)象重命名

使用系統(tǒng)過程sp_tableoption和sp_changeobjectowner分別修改表的選項(xiàng)和任何數(shù)據(jù)庫對(duì)象的擁有者

6. db_securityadmin


固定數(shù)據(jù)庫角色db_securityadmin的成員可以管理數(shù)據(jù)庫中的安全。這些成員可以進(jìn)行如下的動(dòng)作:

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

運(yùn)行以下系統(tǒng)過程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember

7. db_backupoperator


固定數(shù)據(jù)庫角色db_backupoperator的成員可以管理數(shù)據(jù)庫備份的過程。這些成員可以進(jìn)行如下動(dòng)作:

運(yùn)行BACKUP DATABASE和BACKUP LOG語句

用CHECKPOINT語句顯式地啟動(dòng)檢查點(diǎn)進(jìn)程

運(yùn)行如下dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

8. db_denydatareader和db_denydatawriter


顧名思義,固定數(shù)據(jù)庫角色db_denydatareader的成員對(duì)數(shù)據(jù)庫中的數(shù)據(jù)庫對(duì)象(表或視圖)沒有SELECT權(quán)限。如果數(shù)據(jù)庫中含有敏感數(shù)據(jù)并且其他用戶不能讀取這些數(shù)據(jù),那么就可以使用這個(gè)角色。

固定數(shù)據(jù)庫角色db_denydatawriter的成員對(duì)數(shù)據(jù)庫中的任何數(shù)據(jù)庫對(duì)象(表或視圖)沒有INSERT、UPDATE和DELETE權(quán)限。

總結(jié)

以上是生活随笔為你收集整理的SQLServer中服务器角色和数据库角色权限详解角色的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。