SQL Server2005服务器角色详解

php中文网
发布: 2016-06-07 15:07:08
原创
1234人浏览过

很多时候,我们在测试网页时或初学数据库应用,登陆SQLServer数据库时会使用系统默认的系统用户sa。要知道sa用户可是一个超级用户ID,如果我们的网站是简单的或者说可以不用考虑安全性的企业站、个人站还好,数据破坏了,我重新做一份就得了嘛,反正数据少。

很多时候,我们在测试网页时或初学数据库应用,登陆SQLServer数据库时会使用系统默认的系统用户sa。要知道sa用户可是一个超级用户ID,如果我们的网站是简单的或者说可以不用考虑安全性的企业站、个人站还好,数据破坏了,我重新做一份就得了嘛,反正数据少。不过如果对于系统安全性要求相对较高的系统、网站,使用sa用户,那后果……

怎么通过控制数据库登录用户的ID来控制登录用户的权限呢?
首先,用sa用户登陆SQL Server2005数据库,选择安全性-->登录名-->右键新建登录名,自定义一个自己用于登陆系统的用户名,如99Space,选择SQLServer身份验证键入登录密码。
其次,好,接下来是关键了——服务器角色。定义了服务器角色,你定义的登陆用户就有了相应的执行权限,先来看一下这些角色都是些什么意思:

服务器角色

含义

Bulkadmin

可以运行 BULK INSERT 语句

Dbcreator

创建、更改、删除和还原任何数据库

Diskadmin

管理磁盘文件

Processadmin

可以终止在数据库引擎 实例中运行的进程

Securityadmin

可以管理登录名及其属性。具有 GRANT、DENY 和 REVOKE 服务器和数据库级别的权限。此外,还可以重置 SQLServer 登录名的密码

Serveradmin

可以更改服务器范围的配置选项和关闭服务器

Setupadmin

可以添加和删除链接服务器,并可以执行某些系统存储过程(如 sp_serveroption)

Sysadmin

在SQL Server中进行任何活动。该角色的权限跨越所有其他固定服务器角色。默认情况下,WindowsBUILTIN\Administrators 组(本地管理员组)的所有成员都是 sysadmin 固定服务器角色的成员


相信看了这个表,你应该知道如何为自己定义的用户选定相应的执行权限了吧?我指选择了Dbcreator这一项。

三、定义完成服务器角色之后,如果只想使得该用户只具有某些数据库的管理权限,那就——进入用户映射,选择右边框中相应的数据库吧。下边是相应选项的含义,按照需要选择:

固定数据库角色 数据库级权限 服务器级权限

db_accessadmin

已授予:ALTER ANY USER、CREATE SCHEMA

已授予:VIEW ANY DATABASE

db_accessadmin

已使用 GRANT 选项授予:CONNECT

 

db_backupoperator

已授予:BACKUP DATABASE、BACKUP LOG、CHECKPOINT

已授予:VIEW ANY DATABASE

db_datareader

已授予:SELECT

已授予:VIEW ANY DATABASE

db_datawriter

已授予:DELETE、INSERT、UPDATE

已授予:VIEW ANY DATABASE

db_ddladmin

已授予:ALTER ANY ASSEMBLY、ALTER ANY ASYMMETRIC KEY、ALTER ANYCERTIFICATE、ALTER ANY CONTRACT、ALTER ANY DATABASE DDL TRIGGER、ALTERANY DATABASE EVENT、NOTIFICATION、ALTER ANY DATASPACE、ALTER ANYFULLTEXT CATALOG、ALTER ANY MESSAGE TYPE、ALTER ANY REMOTE SERVICEBINDING、ALTER ANY ROUTE、ALTER ANY SCHEMA、ALTER ANY SERVICE、ALTERANY SYMMETRIC KEY、CHECKPOINT、CREATE AGGREGATE、CREATE DEFAULT、CREATEFUNCTION、CREATE PROCEDURE、CREATE QUEUE、CREATE RULE、CREATESYNONYM、CREATE TABLE、CREATE TYPE、CREATE VIEW、CREATE XML SCHEMACOLLECTION、REFERENCES

已授予:VIEW ANY DATABASE

db_denydatareader

超级简历WonderCV
超级简历WonderCV

免费求职简历模版下载制作,应届生职场人必备简历制作神器

超级简历WonderCV 271
查看详情 超级简历WonderCV

已拒绝:SELECT

已授予:VIEW ANY DATABASE

db_denydatawriter

已拒绝:DELETE、INSERT、UPDATE

 

db_owner

已使用 GRANT 选项授予:CONTROL

已授予:VIEW ANY DATABASE

db_securityadmin

已授予:ALTER ANY APPLICATION ROLE、ALTER ANY ROLE、CREATE SCHEMA、VIEWDEFINITION

已授予:VIEW ANY DATABASE



上面这个表式微软官方的,来个简单点的吧:

固定数据库角色

说   

db_owner

可以执行数据库中技术所有动作的用户

db_accessadmin

可以添加、删除用户的用户

db_datareader

可以查看所有数据库中用户表内数据的用户

db_datawriter

可以添加、修改或删除所有数据库中用户表内数据的用户

db_ddladmin

可以在数据库中执行所有DDL操作的用户

db_securityadmin

可以管理数据库中与安全权限有关所有动作的用户

db_backoperator

可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)

db_denydatareader

不能看到数据库中任何数据的用户

db_denydatawriter

不能改变数据库中任何数据的用户


OK,点击确定,退出SQLServer2005,重新用新建的数据库用户登陆数据库,看看你当前能干什么?只能对你选定的数据库进行操作而已。呃,出现错误的话,慢慢调试!

转自:http://blog.sina.com.cn/s/blog_796319050100xewx.html


最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号