当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(96)

MSSQL
SQL Server SA权限总结经典技术
ASP数据库编程SQL常用技巧
SQL SERVER数据库开发之存储过程应用
SQL Server 2000的安全配置
MSSQL经典语句
SQL 经典语句
有用的SQL语句(删除重复记录,收缩日志)
Access 数据类型与 MS SQL 数据类型的相应
SQL语句示例
SQL数据类型详解
将Sql Server对象的当前拥有者更改成目标拥有者
MSSQL内外连接(INNER JOIN)语句详解
SQL 外链接操作小结 inner join left join right join
SQL Server中网络备份一例
SQL语句导入导出大全
SQL 新增/修改 表字段列的类型等
系统存储过程,sp_executesql
sql2005开启xp_cmdshell
实例学习SQL的Select命令
删除数据库中重复数据的几个方法

MSSQL 中的 SQL Server数据库技术(96)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 32 ::
收藏到网摘: n/a

14.3.1 数据库用户简介
    数据库用户用来指出哪一个人可以访问哪一个数据库。在一个数据库中,用户ID 惟一标识一个用户,用户对数据的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的,用户账号总是基于数据库的,即两个不同数据库中可以有两个相同的用户账号。
    在数据库中,用户账号与登录账号是两个不同的概念。一个合法的登录账号只表明该账号通过了NT 认证或SQL Server 认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作,所以一个登录账号总是与一个或多个数据库用户账号(这些账号必须分别存在相异的数据库中)相对应,这样才可以访问数据库。例如,登录账号sa 自动与每一个数据库用户dbo 相关联。
    通常而言,数据库用户账号总是与某一登录账号相关联,但有一个例外,那就是guest用户。

    在安装系统时,guest 用户被加入到master、 pubs、 tempdb 和Northwind 数据中,那么SQL Server 为什么要进行这样的处理呢?让我们看看在用户通过NT 认证或SQLServer 认证而成功登录到SQL Server 之后,SQL Server 又做了哪些事情:

注意:通常我们可以像删除或添加其它有户那样删除或添加guest用户,但不能从master或tempdb数据库中删除该用户,并且在一个新建的数据库中不存在guest用户,除非将其添加进行。

14.3.2 管理数据库用户
1 利用SQL Server Enterprise Manager管理数据库用户
创建新数据库用户利用SQL Server Enterprise Manager 创建一个新数据库用户要执行以下步骤:
(1) 启动SQL Server Enterprise Manager, 单击登录服务器旁边的‘+’ 标志。
(2) 打开Database 文件夹,打开要创建用户的数据库。
(3) 右击User 图标,在弹出菜单中选择 New Database User, 弹出New Database User – New User 对话框。如图14-3 所示。
(4) 在Login 选择框内选择已经创建的登录账号、在User 选择框内输入数据库用户名称。
(5)在Database role membership 下的选项框中为该用户选择数据库角色(关于数据库角色将在角色一节中作详细介绍)。
(6)单击确定按钮。
    当然,在创建一个SQL Server 登录账号时,就可以先为该登录账号定出其在不同数据库中所使用的用户名称,这实际上也完成了创建新的数据库用户这一任务。其操作步骤见“14.2.1 使用SQL Server Enterprise Manager 管理SQL Server 登录”。 在打开的SQL Server Properties – New Login 对话框中选择Database Access 标签页。见图14-4 所示。


查看、删除数据库用户

    在SQL Server Enterprise Manager 中,选中User 图标(创建数据库用户的第三步),则在右面的窗格中显示当前数据库的所有用户。如图14-5 所示。
    选中User 图标后,在右面窗格中右击想要删除的数据库用户,则会弹出选项菜单,然后选择Delete, 则会从当前数据库中删除该数据库用户。见图14-5。



2 利用系统过程管理数据库用户:
SQL Server 利用以下系统过程管理数据库用户
sp_adduser    sp_granddbaccess
sp_dropuser   sp_revokedbaccess
sp_helpuser

    使用sp_adduser和sp_dropuser是为了保持以前版本相兼容,所以我们强烈主张使用sp_granddbaccess和sp_revokedbacces。

创建新数据库用户
    在数据库管理简介部分我们已经指出,除了guest 用户外,其它用户必须与某一登录账号相匹配,所以,正如在图14-4 中所见到的那样,不仅要输入新创建的新数据库用户名称,还要选择一个已经存在的登录账号。同理,当我们使用系统过程时,也必须指出登录账号和用户名称。