懒得敲啦,复制了一段。 你最好找本SQl server的书好好看看。12.5 删除用户名和登录名 您已经学会增加登录名和用户名。现在您需要知道如何将它们删除。 1. 删除用户 在一个数据库中删除一个用户名会使对应的登录名无法访问该数据库。当登录名不再需 要访问一个数据库或对应的的登录名被删除时,需要将数据库内的用户名删除。必须在删除ഊ288 SQL Server 7 关系数据库系统管理与开发指南 下载 登录名前将其映射的所有用户名全部删除。数据库所有者不能被删除,但是能够使用 s p _ c h a n g e d b o w n e r 存储过程将数据库所有者改变到其他的登录名上。它只有一个参数:新所 有者的登录名。 (1) 使用系统存储过程删除用户名 用Tr a n s a c t - S Q L 的s p _ r e v o k e d b a c c e s s 存储过程删除用户。这个存储过程从数据库中将用户 删除,即从s y s u s e r s 表中删除用户名。这个存储过程具体语法如下: sp_revokedbaccess [@name_in_db =] 'name' 其中,@name_in_db 就是指要删除的用户名。 使用下面的命令在当前的数据库中删除c m i l l e r 用户: sp_revokedbaccess "cmiller" (2) 使用企业管理器删除用户名 在企业管理器中用以下的步骤删除用户名 1) 启动企业管理器。 2) 展开要操作的服务器。 3) 展开想修改用户的数据库。 4) 单击U s e r ,右边显示所有的数据库用户。 5) 选择要删除的用户,右击该用户,选择D e l e t e 来删除用户名。 2. 删除登录名 删除登录名和删除用户名相似,但是需要在数据库中做更加复杂的检查,以确保不会在 库中留下孤儿型的用户。一个孤儿型的用户是指一个用户名没有任何登录名在其上映射。每 当一个登录名被删除时,SQL Server 首先确认这个登录名不存在于任何系统表中。MICROSOFT SQL Server 是否自动删除和登录名相关的用户名,取决您使用的工具。 (1) 使用系统存储过程删除登录名 使用Tr a n s a c t _ S Q L 的s p _ d r o p l o g i n 存储过程来删除一个用户。这个存储过程具体语法如 下: sp_droplogin [@loginame =] 'login' 其中参数[@loginame =] 'login'是指要删除的登录名。 如果有用户名和这个登录名关联,SQL Server 将返回提示信息告诉您哪个数据库中存在 关联的对象,并提供关联的对象名。如果关联的对象存在,在删除登录名前您需要用 s p _ r e v o k e d b a c c e s s 在每个数据库中将它们清除。如果用户是数据库所有者,您需要使用 s p _ c h a n g e d b o w n e r 将所有权授予其他的登录名。 (2) 使用企业管理器删除登录名 使用SQL Server 企业管理器按照下面的步骤删除登录名 1) 启动企业管理器。 2) 展开您想操作的服务器。 3) 展开Login 文件夹。 4) 右击您想删除的登录名,选择D e l e t e 选项。 12.6 角色 管理用户是一件令人头疼的事情。最大的麻烦在于要确保用户能够访问到他们需要的数ഊ第12 章实现SQL Se rv e r 安全性289 下载 据但又不能获得超出他们权限范围的数据。幸运的是,用户一般在组中工作。也就是说可以 将在相同数据上有相同权限的用户放入组中进行管理。SQL Server 具有将用户分配到组中的 能力,分配给组的权限也适用于组中的每一个成员。 在SQL Server 7 中,组是通过角色来实现的。我们可以将角色认为是组。在SQL Server 中, 角色有服务器角色和数据库角色两种。服务器角色是服务器级的一个对象,只能包含登录名。 数据库角色是数据库级的一个对象。就是说数据库角色只能包含数据库用户名而不能是登录 名。
你最好找本SQl server的书好好看看。12.5 删除用户名和登录名
您已经学会增加登录名和用户名。现在您需要知道如何将它们删除。
1. 删除用户
在一个数据库中删除一个用户名会使对应的登录名无法访问该数据库。当登录名不再需
要访问一个数据库或对应的的登录名被删除时,需要将数据库内的用户名删除。必须在删除ഊ288 SQL Server 7 关系数据库系统管理与开发指南
下载
登录名前将其映射的所有用户名全部删除。数据库所有者不能被删除,但是能够使用
s p _ c h a n g e d b o w n e r 存储过程将数据库所有者改变到其他的登录名上。它只有一个参数:新所
有者的登录名。
(1) 使用系统存储过程删除用户名
用Tr a n s a c t - S Q L 的s p _ r e v o k e d b a c c e s s 存储过程删除用户。这个存储过程从数据库中将用户
删除,即从s y s u s e r s 表中删除用户名。这个存储过程具体语法如下:
sp_revokedbaccess [@name_in_db =] 'name'
其中,@name_in_db 就是指要删除的用户名。
使用下面的命令在当前的数据库中删除c m i l l e r 用户:
sp_revokedbaccess "cmiller"
(2) 使用企业管理器删除用户名
在企业管理器中用以下的步骤删除用户名
1) 启动企业管理器。
2) 展开要操作的服务器。
3) 展开想修改用户的数据库。
4) 单击U s e r ,右边显示所有的数据库用户。
5) 选择要删除的用户,右击该用户,选择D e l e t e 来删除用户名。
2. 删除登录名
删除登录名和删除用户名相似,但是需要在数据库中做更加复杂的检查,以确保不会在
库中留下孤儿型的用户。一个孤儿型的用户是指一个用户名没有任何登录名在其上映射。每
当一个登录名被删除时,SQL Server 首先确认这个登录名不存在于任何系统表中。MICROSOFT
SQL Server 是否自动删除和登录名相关的用户名,取决您使用的工具。
(1) 使用系统存储过程删除登录名
使用Tr a n s a c t _ S Q L 的s p _ d r o p l o g i n 存储过程来删除一个用户。这个存储过程具体语法如
下:
sp_droplogin [@loginame =] 'login'
其中参数[@loginame =] 'login'是指要删除的登录名。
如果有用户名和这个登录名关联,SQL Server 将返回提示信息告诉您哪个数据库中存在
关联的对象,并提供关联的对象名。如果关联的对象存在,在删除登录名前您需要用
s p _ r e v o k e d b a c c e s s 在每个数据库中将它们清除。如果用户是数据库所有者,您需要使用
s p _ c h a n g e d b o w n e r 将所有权授予其他的登录名。
(2) 使用企业管理器删除登录名
使用SQL Server 企业管理器按照下面的步骤删除登录名
1) 启动企业管理器。
2) 展开您想操作的服务器。
3) 展开Login 文件夹。
4) 右击您想删除的登录名,选择D e l e t e 选项。
12.6 角色
管理用户是一件令人头疼的事情。最大的麻烦在于要确保用户能够访问到他们需要的数ഊ第12 章实现SQL Se rv e r 安全性289 下载
据但又不能获得超出他们权限范围的数据。幸运的是,用户一般在组中工作。也就是说可以
将在相同数据上有相同权限的用户放入组中进行管理。SQL Server 具有将用户分配到组中的
能力,分配给组的权限也适用于组中的每一个成员。
在SQL Server 7 中,组是通过角色来实现的。我们可以将角色认为是组。在SQL Server 中,
角色有服务器角色和数据库角色两种。服务器角色是服务器级的一个对象,只能包含登录名。
数据库角色是数据库级的一个对象。就是说数据库角色只能包含数据库用户名而不能是登录
名。