錢偉強
(陜西交通職業技術學院信息工程系,陜西 西安 710018)
SQL Server2005是微軟公司的一款關系型數據庫管理系統,采用微軟公司在標準SQL語言基礎上改進而來的Transact-SQL語言作為其操作語言。雖然其性能和安全性不如甲骨文公司開發的關系-對象型數據庫管理系統Oracle,但憑借其自身相對低廉的價格,便易的操作性,以及對微軟的程序開發工具集——Visual Studo 2005的無縫支持,使其受到了中小企業、個人用戶及程序開發人員的青睞。這些優點,使SQL Server2005占據數據庫產品市場第一的份額。
登錄用戶的身份驗證是SQL Server2005安全管理的第一道關。當用戶訪問數據庫服務器時,SQL Sever2005系統會對用戶的身份進行驗證。驗證成功的用戶方可允許連接訪問SQL Server實例,驗證失敗的用戶無法訪問服務器。對于登錄用戶的不同情況,SQL Server2005提供了兩種身份驗證模式:windows身份驗證模式,及windows身份驗證和SQL Server身份驗證共同作用的混合模式。
SQL Server2005利用與windows操作系統出自同門的優勢,允許用windows操作系統的帳戶驗證作為SQL Server2005數據庫系統的登錄驗證。SQL Server數據庫服務器中可以保存受信任的windows系統用戶賬戶,當用戶以windows身份驗證模式登錄數據庫服務器時,SQL Server回叫windows系統以獲取該用戶的windows系統賬戶信息,檢查該windows賬戶是否是已保存的受信任賬戶,以決定該用戶是否可以登錄數據庫服務器。在windows身份驗證模式下,用戶不需要輸入賬號、密碼,只要是特定的受信任windows用戶就可以直接登錄服務器。

?
混合驗證模式即windows身份驗證模式和SQL Server身份驗證模式共同驗證。在混合驗證模式下,受信任的windows用戶可以使用windows身份驗證模式登錄數據庫服務器;而對于非受信任windows用戶或非windows系統用戶,數據庫服務器可事先注冊保存相應的登錄賬戶名和密碼,這部分用戶在登錄時須選擇SQL Server身份驗證,通過輸入用戶名和密碼進行驗證。混合驗證模式比windows身份驗證模式增加了安全性方面的選擇。
SQL Server2005安全管理的第二道關是數據庫用戶的管理。擁有登錄賬戶的用戶雖然可以登錄數據庫服務器,但登錄后,只能訪問SQL Server實例中的四個系統數據庫,而并不具備訪問實例上已有的用戶數據庫的權限,即無法訪問實例上的數據。若需要使登錄的用戶訪問某個數據庫中的數據,則必須為其登錄賬戶創建該數據庫的數據庫用戶。讓登錄賬戶成為數據庫用戶稱為“映射”。一個登錄賬戶可以映射多個數據庫用戶,而一個數據庫用戶只對應一個登錄賬戶。數據庫用戶須在相應數據庫中創建,必須與一個登錄名相關聯。
用戶登錄服務器后,當其試圖訪問實例上的某個數據庫時,系統會在該數據庫的系統表sysusers中查找該登錄賬戶對應的數據庫用戶名。若該登錄賬戶沒有映射任何數據庫用戶,則系統將其統一映射為默認的Guest用戶。但如果該數據庫沒有Guest用戶或Guest用戶沒有設置任何權限,該用戶就無法訪問數據庫。
3.1 SQL Server2005權限種類
SQL Server的權限種類包括對象權限、語句權限和隱含權限。
3.1.1 對象權限:是指用戶對數據庫中表、視圖等對象的操作權。主要包括SELECT、INSERT、UPDATE、DELETE 等語句權限。
3.1.2 語句權限:是指是否允許執行數據定義語句的權限。包括:CREATE DATABASE、CREATE TABLE、CREATE VIEW、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CRAETE RULE、BACKUP DATABASE、BACKUP LOG等。
3.1.3 隱含權限:是指由SQL Server預定義的服務器角色、數據庫角色、數據庫擁有者和數據庫對象擁有者所具有的權限。如數據庫對象擁有者可以對所擁有的對象執行一切活動,擁有表的用戶可以查看、添加或刪除數據,更改表定義,或控制允許其他用戶對表進行操作的權限。
3.2 部分數據庫對象的常用權限(見表1)
3.3 使用數據庫角色管理用戶權限
SQL Server2005中的數據庫角色分為兩類,一類是系統默認的固定數據庫角色,另一類就是由用戶自己創建的自定義數據庫角色。固定數據庫角色自動包含于每個新創建的數據庫,一共有10種,見表2所示:
管理員可以根據用戶對操作權限的需求分配其到固定的角色中,也可以自建新的數據庫角色并授予相應的權限從而滿足特定的權限需求。
保證數據庫安全是數據庫系統設計和管理的重中之重。SQL Server2005提供了全方面多層次的安全保護措施。合理地設置各層次的安全服務措施,制定切實有效地安全管理策略,不但可以提高數據庫的管理效率,更保障了數據庫中數據的安全。
[1]施伯樂,丁寶康,汪衛編.數據庫系統教程[M].北京:高等教育出社.
[2]李春葆,曾平.Sql Server2000應用系統開發教程[M].北京:清華大學出版社.