SQL SERVER数据库权限分配

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

--添加只允许访问指定表的用户:       
  exec     sp_addlogin     ‘用户名‘,‘密码‘,‘默认数据库名‘       
      
  --添加到数据库       
  exec     sp_grantdbaccess     ‘用户名‘   
      
  --分配SELECT整表权限       
  GRANT     SELECT     ON  表名  TO   [用户名]   
    
  --分配SELECT权限到具体的列   
  GRANT     SELECT     ON   表名(id,AA)   TO   [用户名]

例如:

--添加只允许访问指定表的用户:
exec sp_addlogin ‘read‘,‘123456‘,‘test‘

exec sp_grantdbaccess ‘read‘

--分配SELECT整表权限
GRANT SELECT ON dbo.UserCards TO [read]

--取消SELECT整表权限

REVOKE SELECT ON dbo.UserCards TO [read]

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

--添加只允许访问指定表的用户:       
  exec     sp_addlogin     ‘用户名‘,‘密码‘,‘默认数据库名‘       
      
  --添加到数据库       
  exec     sp_grantdbaccess     ‘用户名‘   
    
  --添加到角色   
  exec   sp_addrolemember   ‘db_datareader‘,‘用户名‘

原文地址:https://www.cnblogs.com/heibai-ma/p/12199638.html

时间: 2024-10-29 12:29:58

SQL SERVER数据库权限分配的相关文章

SQL Server 数据库权限设置

一.登录权限:SQL server的身份验证模式有以下两种: 1. Windows身份验证模式: 当使用Windows身份验证时,SQL server会使用操作系统中的Windows用户和密码.也就是说,当用户身份由Windows进行验证,SQL server不要求提供密码,也不执行身份验证.Windows身份验证是比SQL server身份验证更为安全的,可以保护SQL server免受大部分来自Internet的 攻 击.Windows身份验证适合用于在局域网内部(如AD域)访问数据库的情况

关于 sql server 数据库权限乱七八糟的一些东西

研究权限这些东西主要是因为今天正好在折腾数据库备份相关的东西,备份好说,备份完了就完了. 但是恢复备份的时候,需要先让数据库脱机,然后恢复,然后再联机,嗯,问题就出在联机上了. 根据 MSDN 的说法:https://msdn.microsoft.com/zh-cn/library/bb522682.aspx OFFLINE 只需要拥有本数据库的 ALTER DATABASE 权限,但是 ONLINE 却需要拥有服务器级别的 ALTER ANY DATABASE 权限. 感觉好坑的样子...  

SQL SERVER数据库权限

在数据库开发中,经常要设置用户对数据库的操作权限,通常有以下2种办法: 1.在数据库中,建立一个权限表,记录每个用户对相应模块(界面)的操作权限,然后在程序中使用. 我看到的一些公司的数据库开发(用友也是这样实现)就用这种方式. 2.直接在SQL SERVER中建立数据库用户,配置每个用户对数据表的操作权限. 在这里我主要讲述第2种方式,可能使用到的SQL语句,直接配置数据表的权限,然后通过SQL语句返回用户对表的操作权限,可以在应用程序中使用. select * from sys.sysuse

SQL Server 数据库的安全管理(登录、角色、权限)

---数据库的安全管理 --登录:SQL Server数据库服务器登录的身份验证模式:1)Windows身份验证.2)Windows和SQL Server混合验证 --角色:分类:1)服务器角色.服务器角色是固定的服务器功能,用户不能创建和修改服务器角色.可以将服务器的登录账号添加服务器角色中,使其具备服务器角色的权限.2)数据库角色.数据库角色的作用对象是某一个数据库,用来将登录数据库的用户添加到数据库角色中,使其具备数据库角色的功能. --数据库角色包括固定数据库角色.标准数据库角色和应用程

你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)

前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程,并且根据加载过程中所遇到的一系列问题提供解决方案. 其实SQL Server作为微软的一款优秀RDBMS,它启动的过程中,本身所带的那些系统库发生问题的情况相对还是很少的,我们在平常使用中,出问题的大部分集中于我们自己建立的用户数据库. 而且,相对于侧重面而言,其实我们更关注的是我们自己建立的用户数

SQL server 数据库用户表名称

转自(http://blog.163.com/jlj_sk/blog/static/22579293200861422833924/) 取得SQL server 数据库中 所有用户表名称 select name from sysobjects where xtype='U' order by name SQL server数据库系统表详解: sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 sysc

CSharp 连接本地SQL Server 数据库

本文将详细介绍如何使用Connection对象连接数据库.对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对象为我们屏蔽了具体的实现细节,并提供了一种统一的实现方法. Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection. SqlConnection类的对象连接SQL Server数据库:OracleConnection 类的对象连

人人都是 DBA(V)SQL Server 数据库文件

SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname(owner_sid) AS [owner] ,create_date ,user_access_desc ,state_desc FROM sys.databases WHERE database_id <= 4; master master 数据库包含用于记录整个服务器安装信息和后续创建的所有数

SQL Server数据库中还原孤立用户的方法集合

SQL Server数据库中还原孤立用户的方法集合 虽然SQL Server现在搬迁的技术越来越多,自带的方法也越来越高级. 但是我们的SQL Server在搬迁的会出现很多孤立用户,微软没有自动的处理. 因为我们的数据库权限表都不会在应用数据库中,但是每次对数据库作迁移的时候,单个数据库却带着它的数据库用户对象. 并且我们在新的数据库机器上也不能登录这些账号,但是它却静悄悄的存在我们的数据库中. 微软以前提供的一个老的接口存储过程来处理这个问题. sp_change_users_login 将