1
数据库原理与应用技术
1.11.2.1 10.2.1 服务器管理安全性概述
10.2.1 服务器管理安全性概述

不管使用哪种验证方式,都必须首先具备有效的登录账户。登录账户是附加到 SQL Server本身的能力,所有的登录账户信息都被存放在系统表syslogin中。为Windows 用户或组在SQL Server中建立登录账号,可以使用企业管理器,也可以直接使用T-SQL语句。只有系统管理员(Sysadmin)和安全管理员(Securityadmin)才可以执行这一操作。

1. 添加Windows账号

使用企业管理器添加Windows 服务器登录账号,操作如下。

首先展开服务器,找到“安全性”目录项,再右击下面的“登录名”目录,在弹出的快捷菜单中选择“新建登录名”,打开“登录名-新建”对话框,如图10-2所示。然后在“登录名”文本框中添加用户账号,xy是系统已经创建好了的Windows组,GAOCUIFEN为组所在域名。在“默认数据库”文本框中,可以为该账号选择允许它访问的数据库。其他选项可以选择默认值,然后单击“确定”按钮即可。

图10-2 新建登录账号

2. 添加SQL Server账号

如果用户没有Windows 账号,则可以通过企业管理器或T-SQL语句为其创建SQL Server账号。

使用企业管理器添加SQL Server服务器登录账号时只要在如图10-2所示的“登录名-新建”对话框中选择“SQL Server身份验证”,然后输入密码即可。

使用T-SQL语句创建SQL Server账号,需要用到系统存储过程sp_addlogin。例如,

USE students

EXEC sp_addlogin 'user2','us2','students','Simplified Chinese'也就是创建一个登录名为 user2、密码为 us2、默认数据库为 students、默认语言为Simplified Chinese的账号。

3. 修改登录账号的属性

要修改已创建好的登录账号,可以通过“对象资源管理器→安全性→登录名”修改。右击需要修改的登录名,选择“属性→常规”页面,在弹出的如图10-3所示的对话框中进行修改,如修改密码等内容。

图10-3 修改登录账号的属性

4. 拒绝登录账号

一般来说,要禁止登录账号连接SQL Server,其方法是删除这个账号。但有时只需暂时禁止这个账号的访问,那么就不要轻易删除,此时只要在图10-3所示的“登录属性-user2”对话框中选择“状态”页,然后选择“拒绝连接到数据库引擎”或“禁用登录”选项即可。

如果要使用T-SQL语句进行操作,就要使用系统存储过程sp_denylogin,此过程可以暂时禁止一个账号的登录权限。如果以后要恢复其登录权限,还可以通过系统存储过程sp_grantlogin进行恢复。

5. 删除登录账号

对于永久禁止访问SQL Server的用户,可以通过企业管理器删除其登录账号,用鼠标右键单击要删除的账号,在弹出的快捷菜单中选择“删除”即可。

如果要使用T-SQL语句进行操作,则可以使用sp_revokelogin删除账号。