SQLSever--基礎學習--建立登陸用戶&建立數據庫用戶&分配權限

如題,本文簡記一下SQL Sever裏面登陸用戶(login)的建立,數據庫用戶(DBUser)的建立,以及給數據庫用戶分配權限(Grant)。數據庫

數據庫有三層保護機制:windows

第一層:登陸用戶以及登陸密碼的保護,好比:你擁有進去小區大門的權限;安全

第二層:數據庫的權限,好比:小區有不少樓棟,你只擁有進去指定樓棟的權限;antd

第三層:數據庫操做的權限,好比:你進了指定的樓棟以後,只能作被容許的事情。spa

第一層裏面,用戶登陸分爲windows登陸與SQLSever登陸,windows登陸不說,主要說SQLSever登陸。code

複製代碼
--第一層:登陸用戶建立--能夠進小區了
use master
go
exec sp_addlogin 'test','123456'
--exec sp_droplogin 'test'  --刪除登陸用戶
--第二層:數據庫用戶建立--能夠進房子了
use TSMS
go
exec sp_grantdbaccess 'test','testUser01'
--exec sp_dropuser 'testUser01' --刪除數據庫用戶
--第三層:權限分配--能夠在房子裏幹一些已被許可的事情了
use TSMS
go
grant select on Students to testUser01
--revoke select on Students to testUser01  --權限收回
複製代碼

ok,如今知道如何建立與刪除登陸用戶、數據庫用戶、數據庫權限了。繼續補充一點東西,一個登陸用戶若是須要取得多個DB的操做權限,就須要建立多個DBUser,簡單說:一個login能夠擁有多個DBUser,每一個DBUser對應一個DB。這就能夠解釋,在sa帳號下,爲何每一個數據庫都有一個dbo(DB Owner)了,這樣sa帳號就能夠操做全部數據庫啦!blog

指定DB→安全性→查看用戶ast

繼續引入問題:若是登陸用戶超級多,難道要一個一個來給他們賦予權限?那太挫了!SQLSever定義了一組用戶角色來解決這些問題,以下:class

角色賦予與刪除:test

代碼示例:

--用戶角色管理
use TSMS
go
exec sp_addrolemember 'db_owner','testUser01' --賦予db_owner權限
exec sp_droprolemember 'db_owner','testUser01' --刪除db_owner權限
相關文章
相關標籤/搜索