SQL Server提供了三級安全體系結構,每一級安全結構都是建立在上一層安全驗證的基礎之上的。首先必須擁有登錄賬戶,才可以正常連接SQL Server實例。僅僅依靠一個登錄賬戶,是無法隨心所欲的訪問所有數據庫的,在目標數據庫上必須存在和該登錄賬戶相關的用戶名,即登錄名和數據庫用戶名必須存在映射關系。使用該用戶身份,并非可以隨意訪問目標數據庫中的任意對象,該用戶必須擁有相關的權限才可以對數據庫中的安全對象執行對應操作。這三層安全結構,只要經過精心的配置,可以有力的保護SQL Server的安全。對于訪問者來說,要想連接服務器,必須擁有對應的賬戶名和密碼。通過對登錄名進行控制,就可以確定哪些用戶可以訪問SQL Server,哪些用戶不允許訪問SQL Server。每個SQL Server 實例都擁有獨立的登錄配置信息。在某個SQL Server實例中打開“安全性”、“登錄名”項,在其中顯示所有的登錄名信息。在“登錄名”項的右鍵菜單上點擊“新建登錄名”項,在打開窗口(如圖4)中看到其支持多種登錄方式,包括Windows身份驗證,SQL Server身份驗證,映射到證書,映射到非對稱密鑰等。一般來說使用的是前兩者。選擇“Windows身份驗證”項,點擊“搜索”按鈕,選擇本地賬戶或者域賬戶。之后只要使用該賬戶等系統,就可以順利訪問SQL Server實例。選擇“SQL Server身份驗證”項,需要設置登錄名、登錄密碼。之后在當前SQL Server實例名的屬性窗口左側選擇“安全性”項。在右側選擇“SQL Server和Windows身份驗證模式”項,并且需要重啟SQL Server服務。

圖4 創建SQL Server登錄名
之后在登錄時選擇“SQL Server身份驗證”項,輸入賬戶名和密碼就可以訪問SQL Server實例。……