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网络域。
在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是不同的。