SQL Server 数据库权限设置

一、登录权限:
SQL server的身份验证模式有以下两种:

1、 Windows身份验证模式:

当使用Windows身份验证时,SQL server会使用操作系统中的Windows用户和密码。也就是说,当用户身份由Windows进行验证,SQL server不要求提供密码,也不执行身份验证。Windows身份验证是比SQL server身份验证更为安全的,可以保护SQL server免受大部分来自Internet的 攻 击。Windows身份验证适合用于在局域网内部(如AD域)访问数据库的情况。需要注意的是:使用Windows身份验证时,也必须把相应的用户账号添加到数据库的登录名列表中,否则还是会登录失败,如下所示:

2、 SQL server 和Windows身份验证模式(混合模式):

SQL server和Windows身份验证模式也被称为混合模式,允许我们使用Windows身份验证或SQL server身份验证进行连接。这种模式通常用于运行在非Windows系统环境的用户、Internet用户或混杂的工作组用户访问SQL server时,比如说:外界用户访问数据库或不能登录Windows域时,SQL server验证模式的话,所使用的账号和密码是储存在SQL server数据库上的,与客户机的用户没有关系。

二、数据库的权限设置:

SQL server中的访问权限可以分别从服务器、数据库及对象三个级别进行设置。

可以把SOL Server 想象为一幢大楼,要进入这幢大楼需要一张通行证, 这就是登录账户,而这张通行证的类型(内部员工还是来宾)能否进入大楼,主要取决于保安的检 查方式(即身份验证模式).数据库则可以想象为大楼中的房间,进入大楼之后还不可以访问每个房间,要访问哪个房间还需要哪个房间的钥匙,这就是数据库用户。最后,每个房间里都包含一些对象(如椅子,计算机.铅笔等),可以把它们想象为数据库中的表,并不是每个进入房间的人都有权使用这些对象。这些对象以架构为单位,可以分配用户权限去访问架构, 通过架 构可以访问架构下的所有对象。
当然,如果是这幢大楼的房间拥有者,那么他可以拥有房间内的任何对象,甚至可以让别人去使用这些对象。

1、服务器级别权限设置

在SOL Server 2016中内置了一组服务器角色(也称为固定服务器角色),这些角色用来执行服务器级别的管理,如创建数据库,管理和审核登录账户、 中止SQL Server实例中长时间运行的进程等,它们作用于整台服务器,而非单独某个数据库。

一个用户可以拥有多个固定服务器角色权限,但是固定服务器角色不能被修改、添加和删除。服务器角色如下所示:

2、数据库级别权限设置:

创建任何一个数据库中默认包含两个特殊用户 dbo(database owner)和guest,前者为数据库的所有者,对该数据库具有所有权限;后者是来宾账户,不能被删除,默认处于禁用状态且不具备任何权限。一般要慎重启用guest账号并授予权限。

服务器角色主要控制服务器登录名在服务器范围内的访问,但是在设置具体数据库的管理和操作权限方面就显得比较大了,因此需要依靠数据库角色对数据库级别的对象进行更加细化的权限划分。SQL server默认提供的数据库角色如下所示:

固定数据库角色还包含一个名为public的角色,该角色用来捕获数据库中用户的所有默认权限,所有用户和角色默认属于public角色,该角色不能被删除。

3、对象级别权限设置:

一个数据库中通常包含多个数据表、视图、存储过程等对象,如果赋予了某个用户对该数据库的读取权限,用户就可以读取该数据库下所有表或试图等。但是,如果只想让用户拥有查询某个对象的权限,就需要进行对象级别的权限设置了,下图是为表授权的一些常用权限及其说明:

原文地址:https://blog.51cto.com/14227204/2417523

时间: 2024-10-09 15:51:06

SQL Server 数据库权限设置的相关文章

SQL SERVER数据库权限

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

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

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

新安装sql server数据库后设置

安装数据库要将域管理员设置为数据库所有者. 点击sql server配置管理器,在SQL Native Clinet 10.0配置(32位)\客户端协议中将TCP/IP和Named Pipes启用. 在SQL server网络配置\MSSQLSERVER的协议中将TCP/IP和Named Pipes启用. 在SQL Native Clinet 10.0配置\客户端协议中将TCP/IP和Named Pipes启用. 在其他服务器上运行ODBC就可以连接到数据库.

SQL SERVER数据库权限分配

1,新建 只能访问某一个表的只读用户. --添加只允许访问指定表的用户:         exec     sp_addlogin     '用户名','密码','默认数据库名'               --添加到数据库         exec     sp_grantdbaccess     '用户名'           --分配SELECT整表权限         GRANT     SELECT     ON  表名  TO   [用户名]         --分配SELECT权限

sql server数据库区分大小写设置

数据库表中字段alter Table TableName区分大小写ALTER Column ColumnName VARCHAR(50) COLLATE Chinese_PRC_CS_AS不区分大小写ALTER Column ColumnName燰ARCHAR(50) COLLATE Chinese_PRC_CI_AS或select * from table where password='a' collate Chinese_PRC_CS_AI //区分大小写

SQL Server的权限管理和数据恢复

一.SQL Server权限设置 SQL Server与其他服务器不同,通常保存着运营.开发.市场等重要数据,其中大量数据还涉及机密.因此掌握SQL Server的权限设置是DBA必备的关键技能. 1.SQL Server的安全机制 SQL Server的安全性是建立在认证和访问许可两种安全机制之上的.其中,认证是用来确定登录SQL Server的用户的登录账号和密码是否正确,以此来验证其是否具有连接SQL Server的权限:访问许可用来授予用户或组能够在数据库中执行哪些操作,如创建表.查询数

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

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

SQL SERVER数据库状态(脱机,联机,可疑)及SQL设置语句详解

首先我们应该知道数据库总是处于一个特定的状态中,下面先来了解一下数据库的常见的三种状态:1,脱机:我们可以在Microsoft SQL Server Management中看到该数据库,但该数据库名称旁边有"脱机"的字样,说明该数据库现在虽然存在于数据库引擎实例中,但是不可以执行任何有效的数据操作,比如新增,修改,删除等,这就是脱机状态. 2,联机:该状态为数据库正常状态,也就是我们常看到的数据库的状态,该状态下的数据库处于可操作状态,可以对数据库进行任何权限内的操作. 3,可疑:和&

Jmeter 施压 SQL server数据库的时候,如何设置?

1. 在应用Jmeter进行施压之前,有个重要的端口需要手动查找出来.该端口在第三部要使用.开始——程序——microsoft SQL Server 2008R2——配置工具——SQL Server 配置管理器进入SQL Server Configuration Manager,点击SQL server 网络配置——MSSQLSERVER的协议,选中右边的tcp/ip,右键——属性——点击“IP 地址”的选项卡 TCP动态端口2. 在网上下载:sqljdbc4-3.0.jar 放到Jmeter的