SQL Server2008資料庫使用者管理 (第三部分)
3.1建立SQL Server資料庫登入名
開啟資料庫管理器->安全性->登入名->右鍵選擇新建登入名
1)Windows身份驗證
選中Windows身份驗證,點選搜尋,在下面的提示框中輸入當前計算機的使用者名稱(可在控制面板->使用者賬戶->使用者賬戶->管理使用者賬戶中查詢),然後點選檢查名稱,輸入無誤後,點選確定
在該視窗同樣點選確定(預設資料庫為master)
然後重新整理物件資源管理器,在安全性->登入名中可查詢到新建的登入名LIU-GANG\CSLCAdmin
最後斷開資料庫。
登出當前使用者後以上面新建的登入名登入計算機,再次連線資料庫,以Windows身份驗證方式登入,發現數據庫預設的使用者名稱變為LIU-GANG\CSLCAdmin,點選連線,連線資料庫成功。
2)SQL Server身份驗證
如下操作:
登入名只能登入資料庫資料庫,而不能使用資料庫。
3.2建立資料庫使用者
登入名:連線到SQL Server伺服器
資料庫使用者名稱:
1)SQL Server的使用者
2)每個用來登入SQL Server的登入名都是一個使用者
3)同一個資料庫可以擁有多個使用者,同一個使用者也可以訪問多個數據庫
3.2.1登入名中新建使用者
首先使用sa賬戶登入資料庫
選中對應的資料庫E_Market,選中安全性->使用者->右鍵新建使用者
下面的使用者名稱可以與登入資料庫的登入名相同,也可以不同。注意登入名選擇上面新建的PbUser,然後點選確定
接著斷開資料庫的連線。使用PbUser登入名登入。發現可以正常訪問E_Market資料庫
3.2.2新建登入名時對映到對應的使用者
首先使用sa登入資料庫
新建登入名:Admins
接著選擇使用者對映:選擇可以對映到的資料庫,然後點選確定
重新整理資料庫E_Market,安全性->使用者可檢視到新建的Admins使用者
3.3為資料庫使用者賦予許可權(檢視下)
為使用者sysAdmin賦予檢視、新增的許可權
首先使用sa使用者連線資料庫
選中資料庫E_Market->安全性->使用者->選中sysAdmin->郵件點選屬性
3.3.1選擇特定物件
選中特定物件確定->點選物件型別->選中表(表示對資料庫中的表進行操作)->確定
點選瀏覽,如下圖(當前環境沒有表,所以沒有顯示),如果有具體的表,選中點選確定,即會將表列入到如下的安全物件中
3.3.2選擇特定型別所有物件
再選擇表,則將會列出該資料庫內所有的表
3.3.3選擇屬於該架構的所有物件
在選擇sys,則會列出所有的資料物件,包括檢視、表、儲存過程等,選中後可在下面為其賦予對應的許可權
3.3.4使用該使用者登入資料庫管理器
驗證上面設定的正確性,檢視使用者操作表的許可權
3.4 為資料庫使用者賦予許可權(sql語句)
3.4.1建立登入名
CREATE LOGIN <登入名> WITH PASSWORD = <’密碼’>
--建立登入名
USE master
GO
--建立PbMaster登入名,密碼為@abcd
CREATE LOGIN PbMaster WITH PASSWORD = '[email protected]'
GO
3.4.2建立資料庫使用者
CREATE USER 資料庫使用者名稱 FOR LOGIN 登入名
--建立資料庫使用者
USE E_Market
GO
CREATE USER MasterDBUser FOR LOGIN PbMaster
GO
3.4.3為資料庫使用者賦予許可權
GRANT 操作許可權1, 操作許可權2… ON 表名 TO 使用者名稱
USE E_Market
GO
GRANT SELECT, INSERT, UPDATE ON Userinfo To MasterDBUser
GO
3.4.4從使用者回收許可權
--從MasterDBUser回收更新的操作許可權
USE E_Market
GO
REVOKE UPDATE ON UserInfo TO MasterDBUser
GO
3.4.5檢視某使用者所擁有的許可權
選中對應的資料庫->安全性->使用者->選中某使用者->右鍵屬性->選擇安全物件->右側上方是可操作的物件,下方是對應的操作許可權
3.5伺服器角色
角色:事先定義好的一組許可權
3.5.1伺服器角色
資料庫伺服器方面的控制權限
例如建立、修改、刪除資料庫,管理磁碟檔案,新增或刪除資料庫連線等等
伺服器級別的物件,只能包含登入名
角色名 |
描述 |
bulkadmin |
執行bulk語句,該語句可將文字檔案內的資料匯入SQL Server2008中 |
dbcreator |
建立、更改、刪除和還原任何資料庫 |
diskadmin |
管理磁碟檔案 |
processadmin |
管理sql server中執行的程序 |
securityadmin |
管理和稽核登入賬戶 |
serveradmin |
設定伺服器範圍的配置 |
setupadmin |
可以新增和刪除連線伺服器,並可以執行某些系統儲存過程 |
sysadmin |
可以在伺服器引擎中執行任何活動 |
public |
兩大特點:一、初始狀態時沒有許可權。二、所有的資料庫使用者都是它的成員 |
下面以dbcreator伺服器角色為例說明:
使用PbUser登入名登入資料庫,建立資料庫提示錯誤資訊如下:
說明PbUser登入名沒有建立資料庫的許可權,使用sa使用者登入資料庫,然後點選安全性->登入名->PbUser->右鍵屬性->伺服器角色->勾選dbcreator複選框(Public複選框預設被選中)->點選確定
再次使用PbUser連線資料庫管理器,然後新建資料庫,成功
3.6資料庫使用者角色
資料庫中資料的控制權限
資料庫級別的一個物件,只能包含資料庫使用者名稱
例如可以訪問哪個資料庫,可以訪問哪個資料庫中的那些資料表,哪些檢視,哪些儲存過程等等
對哪些資料表執行哪些操作,比如是插入操作還是更新操作
固定資料庫角色:
一組sql server預定義的資料庫角色
具有資料庫級別的管理許可權
角色名 |
描述 |
db_owner |
執行所有的配置活動和維護活動,以及授予或取消資料庫物件上的select,insert,update |
db_accessadmin |
Window登入賬戶 |
db_datareader |
讀取資料庫中所有使用者表的資料 |
db_datawriter |
向來自資料庫中所有使用者表中新增,更新和刪除資料 |
db_ddladmin |
執行任何資料定義語言命令 |
db_securityadmin |
管理資料庫的安全,可以修改角色成員身份和管理許可權 |
db_backupoperator |
可以備份資料庫 |
db_denydatareader |
不能檢視資料庫中使用者表的任何資料 |
db_denydatawriter |
不能向用戶表中新增,更新或刪除任何資料 |
public |
特殊的固定資料庫使用者,每個資料庫使用者都屬於public資料庫角色 |
Public資料庫角色特點:
1)捕獲資料庫中使用者的預設許可權
2)所有使用者、角色或組預設屬於public角色
3)無法將使用者、組或角色指派給它,因為預設情況下它屬於該角色
4)不能被刪除
為MasterDBUser使用者服務db_ownerq許可權:
自定義資料庫角色:
當固定資料庫角色不能滿足要求的時候,可以自定義資料庫角色
為MasterDBUser新建自定義角色:
1)選中E_Market資料庫->安全性->角色->右鍵選擇新建資料庫角色
2)新建角色名為MyRole
所有者中的dbo按如下方式選擇:瀏覽中選擇dbo,然後點選確定
3)下方的角色成員按如下選擇:MasterDBUser
4)安全物件中選擇對應的表
上圖的列授權,表示可以被檢視或修改的列
3.6.1資料庫的所有者
dbo
出現在每個資料庫中
登入名sa自動對映為資料庫使用者dbo