14.2.1 用SQLServer Enterprise Manager 管理SQL Server 登錄
在SQL Server 中,通過SQL Server Enterprise Manager 執行以下步驟來管理SQLServer 登錄:
(1) 啟動SQL Server Enterprise Manager, 單擊登錄服務器緊鄰的‘+’ 標志。
(2) 單擊安全性文件夾旁邊的‘+ ’標志。
(3) 右擊Logins 圖標,從彈出菜單中選擇New Login 選項,SQL Server 將彈出SQL Server Properties – New Login 對話框,如圖14-2 所示。
(4) 在Name 單行編輯框中輸入登錄名,如圖14-2 所示。
(5) 在Authentication 下的選項欄中選擇身份認證模式如果正在使用SQL Server 認證模式,那麼再選擇SQL Server authentication 單選按鈕之後必須在password 中輸入密碼。如果正在使用NT 認證模式,那麼再選擇Windows NT authentication 單選按鈕之後,則必須在Domain 中輸入域名。
(6) 在Default 下的兩個選項框中指出用戶在登錄時的默認數據庫以及默認的語言。
(7) 單擊確定按鈕,創建登錄。
注意:如果選擇了WINDOWS認證模式,那麼在Name選項處輸入的賬號必須是在NT已經建立的登錄者或組,Name的格式為:NT網絡名稱用戶名稱或NT主機名用戶名稱。
如果選擇了WINDWOS認證模式且使用了NT網絡,那麼在Domain中輸入登錄賬號或組所屬的域;如果沒有使用NT網絡,則在Domain中輸入登錄賬號所屬的NT主機號稱。
如果選擇了WINDOWS認證模式且登錄賬號是NT中的內建用戶組,例如Administators,那麼必須在Domain中輸入“BUILTING”,而不是NT主機名或NT網絡域。
14.2.2 使用Transact_SQL 管理SQL Server 登錄在SQL Server 中,一些系統過程提供了管理SQL Server 登錄功能,主要包括:
sp_granlogin sp_revokelogin sp_denylogin
sp_addlogin sp_droplogin sp_helplogins
下面將對這些系統過程如何管理登錄進行逐一介紹。
(1) sp_addlogin
創建新的使用SQL Server 認證模式的登錄賬號;其語法格式為;
注意:SQL Server的登錄名和密碼最大長度為128個字符,這些字符可以是英文字母、符、數字。但下面三種情況下的登錄名將被視為無效的。
注意:不能刪除系統管理者SA以及當前連接到SQL Server的登錄。
如果與登錄相匹配的用戶仍存在數據庫sysusers表中,則不能刪除該登錄賬號。
sp_addlogin和sp_droplogin只能用在SQL Server認證模式下。
注意:sp_granlogin和sp_revokelogin只有使用於NT認證模式下對NT用戶或用戶組賬號做設定,而不能對SQL Server維護的登錄賬號進行設定。
(6) sp_helplogins
注意:以上介紹的各系統過程中有屬於sysadmin和securityadmin服務器角色的成員才可以行這些命令。
如果使用了NT認證模式,如果已經把某一NT用戶或用戶組設定為SQL Server的登錄者,那麼若從NT域中刪除該NT用戶或用戶組,則相應的SQL Server登錄將成為孤兒。而且其SQL Server登錄信息仍存儲在系統表syslogins中。
孤子登錄是一個存在於SQL Server系統表中,但卻被SQL Server拒絕的登錄,即使試圖再創建一個同名登錄、也會失敗,因為其已存在於系統表syslogins中。
即使將孤兒登錄刪除,並又以相同的NT用戶或用戶組設定到SQL Server的連接,雖您能成功登錄SQL Server,但您再具備對前該登錄者所具備的權限,除非經過權限的重新配置,因為登錄信息包括安全標識符(SID),而刪除前與添加後的SID是不同的。