SQLSERVER创建只读用户

Posted VK六六

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSERVER创建只读用户相关的知识,希望对你有一定的参考价值。

SQLSERVER创建只读用户:
 
1、进入Sqlserver Management Studio(MSSQL客户端)
2、选择安全性->登录名->右键新建登录名
3、在常规里输入用户名和密码
4、在"用户映射"里“映射到此登录名的用户”选择该用户可以操作的数据库
5、在“数据库角色成员身份”里选择"db_datareader",
6、这样一个只读用户就创建完成了。
 
服务器角色参考(可以对数据库进行表结构修改操作)
角色名称
功能描述
bulkadmin
可以运行 bulk insert 语句  bulk insert 详细 http://blog.csdn.net/jackmacro/article/details/5959321
dbcreator
创建,修改,删除,还原任何数据库
diskadmin
管理磁盘文件
processadmin
可以终止在数据库引擎实例中运行的程序
securityadmin
可以管理登录名及其属性,具有grant,deny,和revoke服务器和数据库级别权限,还可以重置sql server 登录名的密码
serveradmin
可以更改服务器范围的配置选项和关闭服务器
setupadmin
可以添加和删除链接服务器,并对可以执行某些系统执行存储过程(如,sp_serveroption)
sysadmin
在sql server中进行任何活动,该觉得的权限跨越所有其他固定服务器角色,默认情况下,windows builtinadmin组(本地管理员组)的所有成员都是sysadmin 固定服务器角色的成员
用户映射参考  (可以对数据库的数据进行操作)
角色名称
功能描述
db_owner
可以执行数据库中技术所有动作的用户
db_accessadmin
可以添加,删除用户的用户
db_datareader
可以查看所有数据库中用户表内数据的用户
db_datawrite
可以添加,修改,删除所有数据库用户表内数据的用户
db_ddladmin
可以在数据库中执行ddl操作的用户,DDL(Data Definition Language)数据表的创建以及管理
db_securityadmin
可以管理数据库中与安全权限有关所有动作的用户
db_backoperator
可以备份数据库的用户(可以发布dbcc和checkPoint语句,这两个语句一般在备份前使用
db_denydatareader
不能看到数据库中任何数据的用户
db_denydatawrite
不能修改数据库中任何数据的用户
 
命令行创建及单表权限添加:
Use WebAgency
Grant select,insert,update,delete on table1
To user1
 
命令行创建用户并赋予权限:
比如要新建帐户appuser,密码为pass,并允许该用户对appdb数据库的test表有select 和update权限,那么依次执行
 
-------------------------------应用实例------------------------------------------------------------------------
exec sp_addlogin ‘username‘,‘password‘,‘database‘
go
 
use database
exec sp_grantdbaccess ‘username‘
go
 
use database
 
grant select
on tablename
 
to username
 
go
-----------------------------------------------------------------------------------------------------------------
只读账号授予 execute 权限
grant execute ON PR_CheckIsTopPosition TO username
 

以上是关于SQLSERVER创建只读用户的主要内容,如果未能解决你的问题,请参考以下文章

SQLSERVER添加只读用户(角色Public),用户登录后未见数据库

为啥我的SQL server 在附加数据库后,数据库总是变成了只读?

sqlserver2012不带登录名的用户

数据库附加上是只读的,想删了它该怎么删

SQL Server 2008 是不是支持表级只读?

使用只读用户访问 SQL Server 主数据库中的系统视图