没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
关于什么是用户权限,最简单的定义可能是,“用户能做什么和不能做什么。”在这里,简单的定义就相当不错了。 用户的权限分为3类: l 登录的权限; l 访问特定数据库的权限; l 在数据库中具体的对象上执行特定操作的权限。 既然我们已经看过了创建登录账户,这里将把重点放在登录账户能够拥有的特定权限上。 22.3.1 授予访问特定数据库的权限 如果想要一个用户可以访问数据库,你需要做的第一件事情是授予用户访问那个数据库的权限。可以在Management Studio中,通过把用户加入到服务器的数据库结点的用户成员中来实现。如果要用T-SQL来添加用户,需要使用CREATE USER或遗留的存储过程s
资源推荐
资源详情
资源评论
sql server 2005用户权限设置深入分析用户权限设置深入分析
关于什么是用户权限,最简单的定义可能是,“用户能做什么和不能做什么。”在这里,简单的定义就相当不错了。
用户的权限分为用户的权限分为3类类:
l 登录的权限;
l 访问特定数据库的权限;
l 在数据库中具体的对象上执行特定操作的权限。
既然我们已经看过了创建登录账户,这里将把重点放在登录账户能够拥有的特定权限上。
22.3.1 授予访问特定数据库的权限授予访问特定数据库的权限
如果想要一个用户可以访问数据库,你需要做的第一件事情是授予用户访问那个数据库的权限。可以在Management Studio
中,通过把用户加入到服务器的数据库结点的用户成员中来实现。如果要用T-SQL来添加用户,需要使用CREATE USER或
遗留的存储过程sp_grantdbaccess。
注意,当你在数据库中CREATE一个用户时,实际上,那些许可权限被存储在数据库中,并映射到那个用户的服务器标识符
上。当还原数据库时,可能不得不在还原数据库的地方,重新把用户权限映射到服务器标识符。
1..CREATE USER
CREATE USER命令把新用户添加到数据库中。用户可以源自现有的登录名、证书或非对称密钥,用户也可以是只能在当前
数据库中的本地用户。其语法如下:
CREATE USER <用户名>
[ { { FOR | FROM }
{
LOGIN <登录名>
| CERTIFICATE <证书名>
| ASYMMETRIC KEY <密钥名>
}
| WITHOUT LOGIN ]
[ WITH DEFAULT_SCHEMA = <模式名> ]
对于这些元素,我们概略看一下其中一些元素的含义是什么:
选 项
说 明
LOGIN
想要授予访问当前数据库的权限的登录名
CERTIFICATE
与用户关联的证书的逻辑名称。注意,必须已经使用CREATE CERTIFICATE命令创建了证书
ASYMMETRIC KEY
与用户关联的非对称密钥的逻辑名称。注意,必须已经使用CREATE ASYMMETRIC KEY命令创建了密钥
WITHOUT LOGIN
创建只能在当前数据库中活动的用户。可以用它来建立特定的安全上下文,但是,该用户不能映射到当前数据库之外的登录
名,也不能访问任何其他的数据库
WITH DEFAULT_SCHEMA
设立不是默认的“dbo”的模式,以作为当前用户的默认模式
2..sp_grantdbaccess
这是遗留的方法,用来授予登录名到特定数据库的访问权限。其语法如下:
sp_grantdbaccess [@loginame =] <‘登录名’>[, [@name_in_db =] <‘数据库中的别名’>
注意,授予的是当前数据库的访问权限——即是说,你 必须确保想要用户能够访问的数据库是发出该命令时的当前数据库。
登录名是用来登录到SQL Server中的实际的登录ID。参数name_in_db允许给该用户另外的识别名称。这个别名只适用于此处
的数据库——其他所有的数据库仍将使用该登 录ID的默认名称,或者使用在授予用户那个数据库的访问权限时所定义的别
名。定义别名将影响身份识别函数,如USER_NAME()。系统级别的函数(如 SYSTEM_USER)将返回基础的登录ID。
22.3.2 授予数据库中对象的权限授予数据库中对象的权限
好吧,用户拥有了登录名,并且,能够访问你想要他或她可以访问的数据库,那么,是否现在就万事大吉了呢?如果事情真有
那么简单就好了!现在当然还没有一切就绪。
在用户能够访问什么的问题上,SQL Server给了我们级别相当精细的控制。多数时候,一些信息是希望用户能够访问到的,
但是,数据库中也有另一些信息是不希望用户访问的。例如,你可能想 要客户服务人员能够查看和维护订单信息,但是可能
不希望他们乱看工资信息。或许,反之亦然——你需要人力资源人员能够编辑雇员记录,但是,或许不想要他们 在交易上给
某人很大的折扣。
SQL Server允许你给SQL Server中一些不同的对象指派一组不同的权限。能够为其指派权限的对象包括表、视图和存储过
程。触发器隐含具有创建它们的人的权限。
对象上的用户权限分为6种不同的类型。
用户权限
说 明
SELECT
允许用户“看到”数据。如果用户拥有该权限,则用户能够在其被授予权限的表或视图上运行SELECT语句
INSERT
允许用户创建新的数据。具有这种权限的用户能够运行INSERT语句。注意,与许多系统不同,具有INSERT能力并不一定意
味着拥有SELECT权限
UPDATE
允许用户修改已有的数据。具有这种权限的用户能够运行UPDATE语句。类似于INSERT语句,具有UPDATE能力并不一定意
味着拥有SELECT权限。
资源评论
weixin_38702110
- 粉丝: 5
- 资源: 941
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#ASP.NET销售管理系统源码数据库 SQL2008源码类型 WebForm
- 1111232132132132
- 基于MAPPO算法与DL优化预编码的多用户MISO通信系统双时间尺度传输方案设计源码
- 基于微信拍照功能的ohos开源CameraView控件设计源码
- 基于JavaCV的RTSP转HTTP-FLV流媒体服务设计源码
- 基于Python的西北工业大学MobilePhone软件开发项目设计源码
- 基于Java语言实现的LeetCode-hot100题库精选设计源码
- 基于ThinkPHP5.0的壹凯巴cms设计源码,适用于小型企业建站灵活组装开发
- C#ASP.NET酒店管理系统源码(WPF)数据库 Access源码类型 WinForm
- 基于Java和Kotlin的多任务多线程断点续传下载框架设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功