Microsoft SQL Server 數據庫服務器管理維護角色

固定服務器角色:
按照從最低級別的角色(bulkadmin)到最高級別的角色(sysadmin)的順序進行描述:
Bulkadmin:這個服務器角色的成員能夠運行BULK INSERT語句。這條語句容許從文本文件中將數據導入到SQL Server 2008數據庫中,爲須要執行大容量插入到數據庫的域帳戶而設計。
Dbcreator:這個服務器角色的成員能夠建立、更改、刪除和還原任何數據庫。這不只是適合助理DBA的角色,也多是適合開發人員的角色。
Diskadmin:這個服務器角色用於管理磁盤文件,好比鏡像數據庫和添加備份設備。它適合助理DBA。
Processadmin:SQL Server 2008可以多任務化,也就是說能夠經過執行多個進程作多個事件。例 如,SQL Server 2008能夠生成一個進程用於向高速緩存寫數據,同時生成另外一個進程用於從高速緩存中讀取數據。這個角色的成員能夠結束(在 SQL Server 2008中稱爲刪除)進程。
Securityadmin:這個服務器角色的成員將管理登陸名及其屬性。他們能夠受權、拒絕和撤銷服務器級權限。也能夠受權、拒絕和撤銷數據庫級權限。另外,它們能夠重置SQL Server 2008登陸名的密碼。
Serveradmin:這個服務器角色的成員能夠更改服務器範圍的配置選項和關閉服務器。例如SQL Server 2008能夠使用多大內存或監視經過網絡發送多少信息,或者關閉服務器,這個角色能夠減輕管理員的一些管理負擔。
Setupadmin:爲須要管理連接服務器和控制啓動的存儲過程的用戶而設計。這個角色的成員能添加到setupadmin,能增長、刪除和配置連接服務器,並能控制啓動過程。
Sysadmin:這個服務器角色的成員有權在SQL Server 2008中執行任何任務。
Public:有兩大特色,第一,初始狀態時沒有權限;第二,全部的數據庫用戶都是它的成員。

固定數據庫角色:
微軟提供了9個內置的角色,以便於在數據庫級別授予用戶特殊的權限集合。
db_owner:該角色的用戶能夠在數據庫中執行任何操做。
db_accessadmin:該角色的成員能夠從數據庫中增長或者刪除用戶。
db_backupopperator:該角色的成員容許備份數據庫。
db_datareader:該角色的成員容許從任何表讀取任何數據。
db_datawriter:該角色的成員容許往任何表寫入數據。
db_ddladmin:該角色的成員容許在數據庫中增長、修改或者刪除任何對象(便可以執行任何DDL語句)。
db_denydatareader:該角色的成員被拒絕查看數據庫中的任何數據,可是他們仍然能夠經過存儲過程來查看。
db_denydatawriter: 像db_denydatareader角色,該角色的成員被拒絕修改數據庫中的任何數據,可是他們仍然能夠經過存儲過程來修改。
db_securityadmin:該角色的成員能夠更改數據庫中的權限和角色。
public:在SQL Server 2008中每一個數據庫用戶都屬於public數據庫角色。當還沒有對某個用戶授予或者拒絕對安全對象的特定權限時,這該用戶將據稱授予該安全對象的public角色的權限,這個數據庫角色不能被刪除。數據庫

 

經常使用的權限:緩存

 

安全對象安全

經常使用權限服務器

數據庫網絡

CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE VIEW、CREATE TABLE、CREATE RULE、BACKUP DATABASE、BACKUP LOG函數

spa

SELECT、DELETE、INSERT、UPDATE、REFERENCES設計

表值函數對象

SELECT、DELETE、INSERT、UPDATE、REFERENCES繼承

視圖

SELECT、DELETE、INSERT、UPDATE、REFERENCES

存儲過程

EXECUTE、SYNONYM

標量函數

EXECUTE、REFERENCES

 

操做權限:

權限分爲3種狀態:授予、拒絕、撤銷,能夠使用以下的語句來修改權限的狀態。

授予權限(GRANT):授予權限以執行相關的操做。經過角色,全部該角色的成員繼承此權限。
撤銷權限(REVOKE):撤銷授予的權限,但不會顯示阻止用戶或角色執行操做。用戶或角色仍然能繼承其餘角色的GRANT權限。
拒絕權限(DENY):顯式拒絕執行操做的權限,並阻止用戶或角色繼承權限,該語句優先於其餘授予的權限。

1.授予權限

本語法格式:

GRANT

{ALL|statement[,..n] }

TO security_account[,..n]

ALL:表示但願給該類型的對象授予全部可用的權限。不推薦使用此選項,保留些選項僅用於向後兼容。授予ALL參數至關於授予如下權限:
若是安全對象爲數據庫,則ALL表示CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE VIEW、CREATE TABLE、CREATE RULE等權限。
若是安全對象爲標量函數,則ALL表示EXECUTE和REFERENCES。
若是安全對象爲表值函數,則ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。
若是安全對象爲存儲過程,則ALL表示EXECUTE、SYNONYM。
若是安全對象爲表,則ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。
若是安全對象爲視圖,則ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。
Statement:表示能夠授予權限的命令,例如,CREATE DATABASE。
security_account:表示定義被授予權限的用戶單位。security_account能夠是SQL Server的數據庫用戶,能夠是SQL Server的角色,也能夠是Windows的用戶或工做組
相關文章
相關標籤/搜索