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
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
相关文章推荐
- 使用Zend_Auth和Zend_Acl进行登录认证及根据用户角色进行权限控制
- 使用Zend_Auth和Zend_Acl进行登录认证及根据用户角色进行权限控制
- 在 ASP.NET 中实现不同角色的用户使用不同登录界面的方法
- SQL语句创建登录名,数据库用户,数据库角色及分配权限
- 使用SQL语句获取SQL Server数据库登录用户权限
- 第三章----2,用户、角色、权限基本使用
- 使用angular 实现简单 用户-角色-菜单-按钮权限控制
- 使用root用户远程登录mysql没有trigger权限的问题
- restlet2.1 学习笔记(十一)为用户分配角色,并使用角色控制权限。
- 使用Spring Security进行角色登录权限例子(带源码)
- 登录判断 之 asp.net 使用内置票据来判断某用户是否有权限登录此网页
- 使用Lync 2013 基于角色的权限控制:RBAC 给用户分配指定的操作权限
- 使用SQL语句获取SQL Server数据库登录用户权限
- 使用SQL语句赋予SQL Server数据库登录用户权限
- 如何使用 Ntrights.exe 实用工具设置登录用户权限
- 使用SQL语句取消登录用户权限
- 牛腩购物12 :整合用户登录页 用到 asp.net 内置票据认证控件的使用(用户登录 用户权限) 用户控件ascx 设置/获取RadioButtonList 和RadioButton
- 当系统中登录用户的角色和权限改变时的处理方法
- 使用SQL语句取消SQL Server数据库登录用户权限
- 浅析Yii中使用RBAC的完全指南(用户角色权限控制)