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

MSSQL
精通数据库系列之入门:基础篇1
剖析SQL Server 2005查询通知之基础篇
用sp_lock诊断SQL Sever的性能问题
测试SQL Server业务规则链接方法
解析SQL Server数据应用在不同的数据库中
如何使用SQL Server数据库中查询累计值
逐行扫描 为你讲解几个基本SQLPLUS命令
教你一招:MSSQL数据库索引的应用
确定几个SQL Server栏中的最大值
SQL Server 2005分析服务 统一整合视图
如何使用SQL Server嵌套子查询
用TableDiff产生SQL Server同步脚本
小型商业应用选SQL Server还是Access
用SQL Server Having计算列和平均值
SQL Server 2005基于消息的应用程序介绍
在SQL Server实例之间传输登录和密码
SQL Server 2005深层工具和运行时间集
SQL Server数据库增强版备份体验
使用SQL Server 2000日志转移实现高可用性
浅谈Linq To Sql集成数据库语言的优劣

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 92 ::
收藏到网摘: 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 中所见到的那样,不仅要输入新创建的新数据库用户名称,还要选择一个已经存在的登录账号。同理,当我们使用系统过程时,也必须指出登录账号和用户名称。