SQL server數據庫的權限設置

一、登錄權限:
SQL server的身份驗證模式有以下兩種:
1、 Windows身份驗證模式:
當使用我你當我是用戶身份驗證時,SQL server會使用操作系統中的Windows用戶和密碼。也就是說,當用戶身份由Windows進行驗證,SQL server不要求提供密碼,也不執行身份驗證。Windows身份驗證是比SQL server身份驗證更爲安全的,可以保護SQL server免受大部分來自Internet的***。Windows身份驗證適合用於在局域網內部(如AD域)訪問數據庫的情況。需要注意的是:使用Windows身份驗證時,也必須把相應的用戶賬號添加到數據庫的登錄名列表中,否則還是會登錄失敗,如下所示:
SQL  server數據庫的權限設置

2、 SQL server 和Windows身份驗證模式(混合模式):
SQL server和Windows身份驗證模式也被稱爲混合模式,允許我們使用Windows身份驗證或SQL server身份驗證進行連接。這種模式通常用於運行在非Windows系統環境的用戶、Internet用戶或混雜的工作組用戶訪問SQL server時,比如說:外界用戶訪問數據庫或不能登錄Windows域時,SQL server驗證模式的話,所使用的賬號和密碼是儲存在SQL server數據庫上的,與客戶機的用戶沒有關係。

二、數據庫的權限設置:

SQL server中的訪問權限可以分別從服務器、數據庫及對象三個級別進行設置。

可以把SOL Server 想象爲一幢大樓,要進入這幢大樓需要一張通行證, 這就是登錄賬戶,而這張通行證的類型(內部員工還是來賓)能否進入大樓,主要取決於保安的檢 查方式(即身份驗證模式).數據庫則可以想象爲大樓中的房間,進入大樓之後還不可以訪問每個房間,要訪問哪個房間還需要哪個房間的鑰匙,這就是數據庫用戶。最後,每個房間裏都包含一些對象(如椅子,計算機.鉛筆等),可以把它們想象爲數據庫中的表,並不是每個進入房間的人都有權使用這些對象。這些對象以架構爲單位,可以分配用戶權限去訪問架構, 通過架 構可以訪問架構下的所有對象。
當然,如果是這幢大樓的房間擁有者,那麼他可以擁有房間內的任何對象,甚至可以讓別人去使用這些對象。

1、服務器級別權限設置
在SOL Server 2016中內置了一組服務器角色(也稱爲固定服務器角色),這些角色用來執行服務器級別的管理,如創建數據庫,管理和審覈登錄賬戶、 中止SQL Server實例中長時間運行的進程等,它們作用於整臺服務器,而非單獨某個數據庫。

一個用戶可以擁有多個固定服務器角色權限,但是固定服務器角色不能被修改、添加和刪除。服務器角色如下所示:
SQL  server數據庫的權限設置

2、數據庫級別權限設置:
創建任何一個數據庫中默認包含兩個特殊用戶 dbo(database owner)和guest,前者爲數據庫的所有者,對該數據庫具有所有權限;後者是來賓賬戶,不能被刪除,默認處於禁用狀態且不具備任何權限。一般要慎重啓用guest賬號並授予權限。

服務器角色主要控制服務器登錄名在服務器範圍內的訪問,但是在設置具體數據庫的管理和操作權限方面就顯得比較大了,因此需要依靠數據庫角色對數據庫級別的對象進行更加細化的權限劃分。SQL server默認提供的數據庫角色如下所示:SQL  server數據庫的權限設置

固定數據庫角色還包含一個名爲public的角色,該角色用來捕獲數據庫中用戶的所有默認權限,所有用戶和角色默認屬於public角色,該角色不能被刪除。

3、對象級別權限設置:
一個數據庫中通常包含多個數據表、視圖、存儲過程等對象,如果賦予了某個用戶對該數據庫的讀取權限,用戶就可以讀取該數據庫下所有表或試圖等。但是,如果只想讓用戶擁有查詢某個對象的權限,就需要進行對象級別的權限設置了,下圖是爲表授權的一些常用權限及其說明:

SQL  server數據庫的權限設置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章