[SQL][轉貼]MSSQL伺服器及資料庫角色對應

摘要:[SQL][轉貼]MSSQL伺服器及資料庫角色對應

伺服器角色權限配置



  • Bulk Insert Administrators(bulkadmin):
    賦予指定的使用者或群組能夠執行Bulk Insert的命令,來進行大量資料新增的作業。

     
  • Database Creators(dbcreator):
    賦予指定的使用者或群組能夠進行資料庫的建立、修改以及刪除作業,而能執行的SQL命令包含了:ALTER DATABASE、CREATE DATABASE、DROP DATABASE、EXTEND DATABASE、RESTORE DATABASE、RESTORE LOG以及預存程序sp_renamedb的執行。
     
  • Disk Administrators(diskadmin):
    賦予指定的使用者或群組能夠管理磁碟中的檔案,而可以執行的SQL命令包含了sp_addumpdevice、sp_diskdefault、sp_dropdevice等有關裝置管理的預存程序。

     
  • Process Administrators(processadmin):
    賦予指定的使用者或群組能夠管理SQL Server處理序,例如將執行中的特定處理序從記憶體中刪除。

     
  • Security Administrators(securityadmin):
    賦予指定的使用者或群組能夠管理者登入帳戶、資料庫權限以及讀取安全訊息記錄,除了可以執行Grant、Deny以及Revoke的SQL命令之外,還能 夠執行下列預存程序:sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、 sp_defaultlanguage、sp_denylogin、sp_droplogin、sp_grantlogin、 sp_helplogins、sp_remoteoption以及sp_revokelogin等有關使用者權限配置的預存程序。
     
  • Server Administrators(serveradmin):
    賦予指定的使用者或群組能夠管理伺服器的組態設定值,而能夠執行的SQL命令有DBCC FREEPROCCACHE、RECONFIGURE、SHUTDOWN,在預存程序部份的執行權限有sp_configure、 sp_fulltext_service以及sp_tableoption等有關伺服器組態管理的指令。
     
  • Setup Administrators(setupadmin):
    賦予指定的使用者或群組能夠管理伺服器的連線以及啟動程序,例如可以刪除伺服器的目前連線。

     
  • System Administrators(sysadmin):
    賦予指定的使用者或群組能夠管理此SQL Server系統中所有的任何作業

資料庫角色權限配置



  • db_accessadmin:
    賦予指定的資料庫使用者擁有管理所屬資料庫使用者帳戶的權限,例如新增或移除指定的使用者帳戶,在預存程序的執行權限部份則包含了 sp_addalias、sp_adduser、sp_dropalias、sp_grantdbaccess以及sp_revokedbaccess等 有關資料庫使用者管理的指令。
     
  • db_backupoperator:
    賦予指定的資料庫使用者擁有管理所屬資料庫的備份工作,而所能執行的SQL命令包含了BACKUP DATABASE、BACKUP LOG、CHECKPOINT、DBCC CHECKALLOC、DBCC CHECKCATALOG、DBCC CHECKDB、DBCC TEXTALL、DBCC TEXTALLOC以及 DBCC UPDATEUSAGE等有關於資料庫備份的所有指令。
     
  • db_datareader:
    賦予指定的資料庫使用者唯一擁有檢視資料庫資料的權限,能夠執行的SQL命令為SELECT。
     
  • db_datawriter:
    賦予指定的資料庫使用者擁有變更所屬資料庫中的資料表任何資料,能夠執行的SQL命令有SELECT、DELETE、INSERT以及UPDATE。
     
  • db_ddladmin:
    賦予指定的資料庫使用者擁有執行資料庫定義語言的相關工作,除了有GRANT、DENY以及REVOKE的命令執行權限之外,還能夠執行 REFERENCES以及預存程序sp_changeobjectowner、sp_procoption、sp_recompile、 sp_rename以及sp_tableoption。
     
  • db_denydatareader:
    被指定為此資料庫角色的使用者將無法讀取資料庫中任何物件的資料。
     
  • db_denydatawriter:
    被指定為此資料庫角色的使用者,將無法對資料庫中的資料進行DELETE、INSERT以及UPDATE命令工作。
     
  • db_owner:
    賦予指定的資料庫使用者擁有所屬資料庫中的任何管理權限。
     
  • db_securityadmin:
    賦予指定的資料庫使用者擁有所屬資料庫中,管理使用者與物件間的相關權限設定,而在預存程序與執行命令上可以使用的有GRANT、DENY以及 REVOKE,sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、 sp_changeobjectowner、sp_dropapprole、sp_droprole以及sp_droprolemember。
     
  • public:
    系統預設所有的使用者都會屬於這個角色的成員之一,就像作業系統中的網域群組Everyone一樣,擁有最低的資料庫使用者權限。