sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解
介绍了sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解
--服务器角色:
--固定服务器角色具有一组固定的权限,并且适用于整个服务器范围。 它们专门用于管理 SQL Server,且不能更改分配给它们的权限。
--可以在数据库中不存在用户帐户的情况下向固定服务器角色分配登录。
--按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述:
--1、Bulkadmin:这个服务器角色的成员可以运行BULKINSERT语句。这条语句允许从文本文件中将数据导入到SQLServer 2008数据库中,
-- 为需要执行大容量插入到数据库的域账户而设计。
--2、Dbcreator:这个服务器角色的成员可以创建、更改、删除和还原任何数据库。这不仅是适合助理DBA的角色,
-- 也可能是适合开发人员的角色。
--3、Diskadmin:这个服务器角色用于管理磁盘文件,比如镜像数据库和添加备份设备。它适合助理DBA。
--4、Processadmin:SQLServer 2008能够多任务化,也就是说可以通过执行多个进程做多个事件。
-- 例如,SQLServer 2008可以生成一个进程用于向高速缓存写数据,同时生成另一个进程用于从高速缓存中读取数据。
-- 这个角色的成员可以结束(在SQLServer 2008中称为删除)进程。
--5、Securityadmin:这个服务器角色的成员将管理登录名及其属性。他们可以授权、拒绝和撤销服务器级权限。
-- 也可以授权、拒绝和撤销数据库级权限。另外,它们可以重置SQLServer 2008登录名的密码。
--6、Serveradmin:这个服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。
-- 例如SQLServer 2008可以使用多大内存或监视通过网络发送多少信息,或者关闭服务器,这个角色可以减轻管理员的一些管理负担。
--7、Setupadmin:为需要管理链接服务器和控制启动的存储过程的用户而设计。
-- 这个角色的成员能添加到setupadmin,能增加、删除和配置链接服务器,并能控制启动过程。
--8、Sysadmin:这个服务器角色的成员有权在SQLServer 2008中执行任何任务。
--9、Public:有两大特点,第一,初始状态时没有权限;第二,所有的数据库用户都是它的成员。
--数据库角色
--固定数据库角色具有一组预定义的权限,这些权限旨在允许您轻松管理权限组。 db_owner 角色的成员可对数据库执行所有配置和维护活动。
--微软提供了9个内置的角色,以便于在数据库级别授予用户特殊的权限集合
--db_owner:该角色的用户可以在数据库中执行任何操作。
--db_accessadmin:该角色的成员可以从数据库中增加或者删除用户。
--db_backupopperator:该角色的成员允许备份数据库。
--db_datareader:该角色的成员允许从任何表读取任何数据。
--db_datawriter:该角色的成员允许往任何表写入数据。
--db_ddladmin:该角色的成员允许在数据库中增加、修改或者删除任何对象(即可以执行任何DDL语句)。
--创建一个登录用户
create login Diviner
with
password='825991',
default_database=WangPing
--使用存储过程,为新建登录用户授予Diskadmin角色
exec sp_addsrvrolemember 'Diviner','Diskadmin'
--为登录账户创建数据库账户,完成登录用户的和数据库账户映射起来,一般建议将数据库用户和登录用户名保持一致
create user Diviner for login Diviner with default_schema=dbo
--使用存储过程,为新建数据库用户授权给具有执行ddl的权限
exec sp_addrolemember 'db_ddladmin','Diviner'
--授权给我们新创建的用户
Grant select,update,delete,insert
ON T_Mystudents
to Diviner
--回收权限
revoke select,insert,update,delete
on T_Mystudents
from Diviner
--创建一个角色(并且将角色自动的分配给用户)
create role manager authorization Diviner
----将角色分配给用户Divinier(不可用)
--grant manager
--to Diviner
----将分配给用户Divinier分配给用户的manager角色(不可用)
--revoke manager
--from Diviner cascade
--删除角色
drop role manager
--给角色授权
grant select,insert,delete,update
on T_Mystudents
to manager
--回收角色的权限
revoke select,insert,delete,update
on T_Mystudents
from manager
--删除数据库用户
drop user Diviner
--删除登录用户
drop login Diviner
sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解的更多相关文章
- sql server 2008 数据库管理系统使用SQL语句创建登录用户详细步骤
--服务器角色:--固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL Server,且不能更改分配给它们的权限. --可以在数据库中不存在用户帐户的情况下向固定服 ...
- sql server 2008数据库 降为 sql server 2005数据库 最终方案总结
由于xx原因,sql server 要降级,所以有了下文.... 一 直接 通过sql server 自带工具 生成脚本即可,具体操作方法如下: 1.打开 Microsoft Sql Server M ...
- 如何转换SQL Server 2008数据库到SQL Server 2005
背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ...
- Microsoft SQL Server(sql server 关系型数据库管理系统)
sql server一般指Microsoft SQL Server 关系型数据库管理系统 Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级 ...
- [转]实战 SQL Server 2008 数据库误删除数据的恢复
实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete ...
- 还原或删除sql server 2008数据库时,经常烩出现: “因为数据库正在使用,所以无法获得对数据库的独占访问权”,终解决方案
还原或删除sql server 2008数据库时,经常烩出现: “因为数据库正在使用,所以无法获得对数据库的独占访问权”,终解决方案如下 关键SQL语句: ALTER DATABASE [dateba ...
- SQL Server 2008 数据库误删除数据的恢复
原文:SQL Server 2008 数据库误删除数据的恢复 原文:http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_ ...
- php连接sql server 2008数据库
原文:php连接sql server 2008数据库 关于php连接sql server 2008的问题,2000的版本可以直接通过php中的配置文件修改,2005以上的版本就不行了,需要使用微软公司 ...
- C# VS2010结合SQL Server 2008数据库编程实现方法
SQL Server 数据库在C#编程中经常用到,如何实现在具体项目中数据库和具体应用的结合是我们经常遇到的问题,我们这次主要针对如何使用SQL Server 数据库展开,下面是具体的操作以及简单的代 ...
随机推荐
- shiro 配置注解后无权访问不进行页面跳转异常:org.apache.shiro.authz.UnauthorizedException: Subject does not have permission
该问题需要使用异常管理: <!-- 无权访问跳转的页面 --> <bean class="org.springframework.web.servlet.handler.S ...
- Ubuntu 14.04 源
清华源https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ ubuntu 14.04 官方源 # deb cdrom:[Ubuntu 14.04.4 LT ...
- 【2018.07.30】(广度优先搜索算法/队列)学习BFS算法小记
一些BFS参考的博客: https://blog.csdn.net/ldx19980108/article/details/78641127 https://blog.csdn.net/u011437 ...
- HttpClient学习(四)—— 关于Http
一.Http状态码 状态码分类 100 ~ 199 信息提示 200 ~ 299 成功 300 ~ 399 重定向 400 ~ 499 客户端错误 500 ~ 599 服务端错误 常见状态码 200 ...
- 如何计算一个C/C++程序运行时间
前两天要计算一个用C++实现的算法运行时间,就用了clock()这个函数.程序大体上如下: clock_t start,end; start = clock(); /*my code*/ end = ...
- jquery获取html中当前元素对象,以及父对象,相邻的上一个对象,或下一个对象
jsp代码: <span><input type="hidden" value="1" id="newInfo">& ...
- redis启动、关闭脚本
#!/bin/bash PORT= NAME=redis-server ID=`ps -ef | grep "$NAME" | grep -v "grep" | ...
- android: requestLayout(), invalidate(), postInvalidate() 方法区别
一.invalidate和postInvalidate 这两个方法都是在重绘当前控件的时候调用的.invalidate在UI线程中调用,postInvalidate在非UI线程中调用.因为androi ...
- python操作excel实用脚本
import xlrd data = xlrd.open_workbook('/home/ppe/workspace/pythonwp/tianranqi_org.xls') table = data ...
- ubuntu下载自带的java-1.8
1.如果是自带的openjdk运行下面可以删除: sudo apt-get purge openjdk* 但是这种情况又不一定成功,有时候运行java -version发现还是可以运行的.证明删除 ...