您的位置:首页 > 数据库

SQLServer2005中登录,凭据,用户,角色,权限的使用举例

2010-11-23 22:22 661 查看
--1.创建一个Windows登录WinLogin
create login [XFMS\Winlogin] --注意此处的域名应该是你自己计算机上的名字
from windows
go


--2.创建一个SQLServer登录MyLogin,密码为123456,默认连接数据库为AdventureWorks。
create login MyLogin
with password='123456',
default_database=AdventureWorks
go
--现在使用MyLogin进行登录,查看是否可以登录(未经授权是无法访问的)
--给MyLogin授予一定的权限然后再次尝试登录
--sp_addsrvrolemember将登录添加到某个角色中去
--将登录添加到固定服务器角色时,该登录将得到与此角色相关的权限
--(角色名参考书本P405的表格)
exec sp_addsrvrolemember MyLogin,sysadmin
go
--下面代码功能和上面的功能相同
grant control server to MyLogin
go
--下面的代码为权限的回收语句
use master
go
revoke control server from MyLogin
go


--授予创建数据库的权限
exec sp_addsrvrolemember MyLogin,dbcreator
--下面语句和上面语句功能相同
grant create any database
on Server::XFMS
to MyLogin
go
--回收权限
revoke create any database from MyLogin
go


grant connect sql to MyLogin
go
revoke connect sql from MyLogin
go


--3.创建一个凭据MyLoginCre,依赖登录为MyLogin使用密码123456。
create credential MyLoginCre
with identity='MyLogin',secret='123456'
go


--4.在StudentManage中为登录MyLogin创建一个映射用户MyUser。
use StudentManage
go
create user MyUser
for login MyLogin
go


--1).使用print user语句检测当前用户为谁
print user
go


--2).使用下面语句切换用户,查看用户是否切换成功
use StudentManage
go
execute as user='MyUser'
go
print user
go


--3).执行下面的语句,检测用户能否执行成功,如不成功注意观察错误原因
use StudentManage
go
select * from student
go


--4).退出MyUser用户,检测是否成功退出,
use StudentManage
go
print user
go
revert
go
print user
go


--5).给用户MyUser授权能够访问student
use StudentManage
go
grant select on student to MyUser
go


--6).最后再以用户MyUser登录执行下面查询语句
use StudentManage
go
execute as user='MyUser'
go
select * from student
go


--5.在数据库StudentManage中创建角色MyRole
--1).语法:create role 角色名 authorization 用户名/角色名
--authorization指定角色为哪个用户或者角色所有,
--也可以不指定,则使用当前默认用户
--(使用print user可以查看当前用户是谁,不是dbo请切换)
create role MyRole --注意此段代码必须在用户dbo下面运行
go


--2).向角色MyRole中添加用户MyUser
--sp_addrolemember 角色名,用户名
exec sp_addrolemember MyRole,MyUser
go


--3).给角色授予权限,则角色中的所有用户都拥有添加的权限
--先测试如下代码
use StudentManage
go
execute as user='MyUser'
go
select * from score
go


--然后给角色授予查询score表的权限
use StudentManage
go
revert
go
grant select on dbo.score to MyRole
go
execute as user='MyUser'
go
select * from score
go
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐