SQL Server权限设置

随着网络的不但发展、黑客技术的日益增长,针对于SQL Server数据库的攻击也越来越多,很多企业的机密数据受到一定的威胁。如何多方便的加强SQL Server的安全性呢?

一、SQL Server的安全机制

SQL Server的安全机制主要包括以下四个方面:

(1)客户机的安全机制:用户必须能够登录客户机,然后使用应用程序或管理工具来访问数据库,对于Windows系统的客户来说,主要涉及到操作系统的安全,主要是Windows账号的安全

(2) 服务器的安全机制:用户登录服务器时,必须使用一个账号和密码,服务器会按照不同的身份验证方式判断这个账号和密码的正确性

(3) 数据库的安全机制:任何能够登录到服务器的账号和密码都对应着一个默认的数据库,SQL Server对数据库级的权限管理采用的是“数据库用户”的概念

(4) 数据对象的安全机制:用户通过前面三道防线才能访问数据库的数据对象(如表、视图),常见的访问权限包括数据的查询、更新、插入、删除

二、登录权限设置

SQL Server有两种身份验证模式:

Windows身份验证模式:使用操作系统中Windows用户和密码登录,SQL Server不要求提供密码,也不执行身份验证。Windows身份验证使用了Kerberos安全协议,比SQL Server身份验证更安全。适用于局域网内部(如AD域)访问数据库的情况

SQL Server和Windows身份验证模式:又称混合验证模式,允许使用用户使用Windows身份验证和SQL Server身份验证进行连接

打开SSMS,右击“SQL Server实例”,选择属性,选择安全性,可以设置身份验证模式,如图所示:

可以使用SSMS创建管理登录账户,依次展开“SQL Server实例”,安全性,右击登录名、新建登录名,如下图所示:

三、访问许可权限设置

访问许可权限设置可以分别从服务器、数据库、对象三个级别进行设置,可以把SQL Server比作一个酒店,如下图所示:

1. 服务器级别权限设置

在SQL Server中内置了一组服务器角色,用来执行服务器级别的管理,如创建数据库、管理和审核登陆账户等,作用于整台服务器,而非单个数据库。

为用户分配服务器级别的权限的步骤如下:

在SSMS中依次展开“SQL Server实例”,安全性,右击某个登录名,选择属性,选择服务器角色,设置需要赋予该用户的权限,如下图所示:

2. 数据库级别的权限设置

建立了SQL Server登录账户后,需要赋予用户权限,才能对数据库进行操作。如果需要访问某个数据库,则需要在该数据库中建立相应的数据库用户,数据库用户是映射到登录账户上的。

例如:在MySchool数据库上建立一个用户User2,则该用户对应到一个登录账户User2,依次展开数据库MySchool、安全性、右击用户,选择新建用户,打开“数据库-新建”窗口,进行相关设置,如下图所示:

为用户设置数据库级别的具体步骤如下:

在SSMS中依次展开“SQL Server实例”,安全性,右击某个登录名,选择属性,选择用户映射,设置需要赋予该用户的权限,如下图所示:

当数据库角色不能满足需求时,还可以创建数据库角色

依次展开数据库MySchool、安全性,右击角色,新建数据库角色

3. 对象级别权限设置

一个数据库中通常包含多个数据表、视图、存储过程等,可在单个表上为用户授予权限

(1)为表授权

在SSMS上找到需要授权的表,右击该表,选择属性、权限,单击搜索,添加需要授权的用户,在下方选择需要授予用户的权限

(2)为数据库授权

数据库本身也是对象,授权方式和表类似,右击数据库、属性、权限

(3)为存储过程授权

依次展开服务器 、数据库、选择数据库、可编程性、存储过程 、属性、权限

时间: 2024-10-10 12:11:57

SQL Server权限设置的相关文章

SQL Server 2012设置某用户对某些表的记录限制其删除操作

第一步:用sa用户进入SSMS: 第二步:在安全性---用户上面点击右键---"属性": 第三步:在选择页中选择"安全对象",点击"搜索",弹出添加对象页面,这里默认为特定对象不用选择: 第四步:点击对象类型对话框,打开选择对象类型,选择"表": 第五步:对要进行加权限限制的表进行选择: 第六步:对所选择的表进行授权设置,点击完成即可.我这里主要是限制不可以删除,选择相应的表,勾选删除即可. SQL Server 2012设置

使用SQL Server作业设置定时任务

1.开启SQL Server Agent服务 使用作业需要SQL Agent服务的支持,并且需要设置为自动启动,否则你的作业不会被执行. 以下步骤开启服务:开始-->>>运行-->>>输入"services.msc"-->>>进入服务,开启SQL Server Agent服务,并设置为自动. 如图: 2.新建作业 点击"SQL Server代理","右击作业",选择"新建作业&quo

《SQL Server企业级平台管理实践》读书笔记——SQL Server如何设置自动增长和自动收缩项

原文:<SQL Server企业级平台管理实践>读书笔记--SQL Server如何设置自动增长和自动收缩项 SQL Server允许用户设置数据库初始值和最大值,可以通过自动增长或者自动收缩进行配置.通过这些配置,我们可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server磁盘空间耗尽的事情发生.一般来讲,如果数据库不是很忙,默认的设置为自动增长,这种方式能够满足大部分的需求.但是在大量并发的情况下,申请数据文件和日志文件增长本身是一件非常消耗系统资源和影响性能的工作.所以如果

SQL Server权限管理和数据恢复

SQL Server的身份验证方式有两种:Windows身份验证:使用Windows身份验证时,SQL Server会使用操作系统中的Windows用户密码,进行验证.这种验证模式适用于局域网内部,访问数据库时.这种方式安全.登录速度快.SQL Server和Windows 身份验证模式:也称为混合验证模式.允许用户使用Windows身份验证或者使用SQL Server身份验证进行连接.该模式通常用于运行非Windows系统环境的用户.Internet用户或混杂的工作组用户访问SQL Serve

SQL Server 权限管理

标签:SQL SERVER/MSSQL SERVER/数据库/DBA/权限控制/管理/分配/登入名/数据库用户/角色 概述 对数据库系统而言,保证数据的安全性永远都是最重要的问题之一.一个好的数据库环境,必须明确每个用户的职责,并分配其对应的权限.同时出现问题了也可以找到根源. 你是否会有这样的需求: 给某个用户查询所有数据库的权限 给某个用户只有备份数据库的权限 给一个用户只有指定数据库的权限 给一个用户只有某个表的权限 给一个用户只有查看某些对象(例如:视图)的权限 给一个用户只有执行一些存

sql server 权限

-----是否存在有效的登录账号:是否被禁用,sql login还有:密码是否过期,是否被锁定 select is_disabled, loginproperty(name,'Isexpired') is_expired, loginproperty(name,'Islocked') is_locked,* from sys.server_principalswhere name = 'SYS_COPY' 主体类型:S = SQL 登录名U = Windows 登录名G = Windows 组R

SQL Server 权限的分类

SQL Server 的权限可以分三类 第一类 server 层面上的: select * from sys.fn_builtin_permissions(default) where class_desc like 'server'; 第二类 database 层面: select * from sys.fn_builtin_permissions(default) where class_desc like 'database'; 第三类 schema 层面: select * from s

SQL SERVER 2012设置自动备份数据库

为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法: 一.打开SQL SERVER 2012,如图所示: 服务器类型:数据库引擎: 服务器名称:127.0.0.1(本地),也可以选择远程连接; 身份验证:包含Windows身份验证和 SQL Server身份验证,此处选择Windows 身份验证; 二.如图,选择[管理]-->[维护计划]-->[维护计划向导]: 三.在[SQL SERVER 维护计划向导]界面,点击[下一步]: 四.填写如图所示:名称和说明,点击[

SQL server权限管理和备份实例

权限设置: 1.创建用户zhangsan,并赋予zhangsan有dbcreator的服务器权限. 2.使用zhangsan登录,测试能否创建数据库. 3.使用sa用户附加myschool数据库,设置zhangsan能执行select语句查询数据库中的表数据.并设置zhangsan用户能删除student表中的数据. 4.使用zhangsan登录测试权限. 备份与还原: 1.验证时间点还原(完整备份+事务日志备份) 思路:创建一个数据库benet,再创建一个表stu.先做一次完整备份,然后向文件