標籤:style 使用 os strong 檔案 io 資料 cti
固定伺服器角色:
按照從最低層級的角色(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 |
表 |
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的使用者或工作群組