標籤:
轉載:http://www.2cto.com/database/201306/216922.html 資料庫,角色,使用者,安全 登入SQL server 2008可以用windows身分識別驗證也可以用sql server身分識別驗證,不論那種,進入資料庫後 都擁有超級使用者的許可權,這顯然是不太安全的。合理的做法是:對於一個資料庫,應該是由不同許可權的使用者 進行操作和管理。 本博文將結合一個例子來講解如何建立資料庫,並為資料庫建立不同許可權的使用者。 一、登入資料庫管理系統(首先要開啟SQL Server資料庫服務) 1、用windows身分識別驗證登入 2、用sql server身分識別驗證登入,預設的登入名稱是sa,如果密碼忘記了可以用windows身份登入後,進入 更改。安全性->登入名稱->雙擊sa->設定密碼。 二、建立資料庫library 1、資料庫->建立資料庫 2、填寫資料庫名稱 三、為資料庫library建立基本表:學生表student、圖書表book、借閱表borrow。並各匯入一定的資料。 四、建立使用者。 這裡為簡單起見,只建立兩個使用者——學生使用者(student_user)、管理使用者(admin_user)。其中學 生使用者只能查閱(select),而管理使用者可以查閱(select)、更新(update)、插入(insert)、刪除(delete)。 1、首先要建立登入名稱,並未登入名稱指定使用者 ①學生使用者 [sql] use library go create login stu with password=‘123‘; use library go create user student_user for login stu; ②管理使用者 [sql] use library go create login stu with password=‘123‘; use library go create user student_user for login stu; 2、建立角色並未角色授權 ①學生角色 [sql] create role student_role; grant select on book to student_role; grant select on borrow to student_role; grant select on student to student_role; ②管理員角色 [sql] create role admin_role; grant select,update,delete,insert on book to admin_role; grant select,update,delete,insert on borrow to admin_role; grant select,update,delete,insert on student to admin_role; 3、將角色授予使用者。student_role授予student_user,admin_role授予admin_user。 ①student_role授予sthdent_user [sql] exec sp_addrolemember @rolename=‘student_role‘, @membername=‘student_user‘; ②admin_role授予admin_user [sql] exec sp_addrolemember @rolename=‘admin_role‘, @membername=‘admin_user‘; 五、分別用stu和admin登入,可以發現stu登入後只能對基本表進行查詢操作,而admin登入後除了可以 查詢外,還可以插入、刪除、更新。這樣就達到了博文開始時所述,不同許可權的使用者進行不同的操作,從而使 得資料庫更加安全。
SQl Server 中登入名稱 、使用者、角色、概念一覽