1,新建只能访问某一个表的只读用户。

--添加只允许访问指定表的用户:
execsp_addlogin'用户名','密码','默认数据库名'

--添加到数据库
execsp_grantdbaccess'用户名'

--分配SELECT整表权限
GRANTSELECTON表名TO[用户名]

--分配SELECT权限到具体的列
GRANTSELECTON表名(id,AA)TO[用户名]

例如:

--添加只允许访问指定表的用户:
execsp_addlogin'read','123456','test'

execsp_grantdbaccess'read'

--分配SELECT整表权限

GRANTSELECTONdbo.UserCardsTO[read]

2,新建访问整一个数据库的只读用户

--添加只允许访问指定表的用户:
execsp_addlogin'用户名','密码','默认数据库名'

--添加到数据库
execsp_grantdbaccess'用户名'

--添加到角色
execsp_addrolemember'db_datareader','用户名'

3,固定服务器角色

sysadmin
可以在SQLServer中执行任何活动。

serveradmin
可以设置服务器范围的配置选项,关闭服务器。

setupadmin
可以管理链接服务器和启动过程。

securityadmin
可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码。

processadmin
可以管理在SQLServer中运行的进程。

dbcreator
可以创建、更改和除去数据库。

diskadmin
可以管理磁盘文件。

bulkadmin
可以执行BULKINSERT语句。

4,(用户映射)数据库角色成员身份

db_owner执行数据库中的所有维护和配置活动。
db_accessadmin添加或删除Windows用户、组和SQLServer登录的访问权限。
db_datareader读取所有用户表中的所有数据。
db_datawriter添加、删除或更改所有用户表中的数据。
db_ddladmin在数据库中运行任何数据定义语言(DDL)命令。
db_securityadmin修改角色成员身份并管理权限。
db_backupoperator备份数据库。
db_denydatareader无法读取数据库用户表中的任何数据。
db_denydatawriter无法添加、修改或删除任何用户表或视图中的数据。