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


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

數據庫有三層保護機制:

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

第二層:數據庫的權限,比如:小區有很多樓棟,你只擁有進去指定樓棟的權限;

第三層:數據庫操作的權限,比如:你進了指定的樓棟之后,只能做被允許的事情。

第一層里面,用戶登錄分為windows登錄與SQLSever登錄,windows登錄不說,主要說SQLSever登錄。

--第一層:登錄用戶創建--可以進小區了
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賬號就可以操作所有數據庫啦!

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

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

角色賦予與刪除:

代碼示例:

--用戶角色管理
use TSMS
go
exec sp_addrolemember 'db_owner','testUser01' --賦予db_owner權限
exec sp_droprolemember 'db_owner','testUser01' --刪除db_owner權限

 

 代碼經過測試,測試環境:Win10+SQLSever 2014。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM