SQL Server 数据库之SQL Server 数据库的安全设置

这篇具有很好参考价值的文章主要介绍了SQL Server 数据库之SQL Server 数据库的安全设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 概述

数据库服务器是所有应用的数据中转站,若数据库服务被恶意攻击,可能会造成数据泄露、数据丢失、数据被恶意篡改等诸多无法挽回的损失;
所以,对数据库进行安全设置是每一个数据库管理人员都应掌握的知识;

2. 更改登录用户验证方式

SQL Server 登录模式分为 “Windows 身份验证模式” 和 “SQL Server 身份验证模式” 两种,若在安装 SQL Server 时选择的是 “Windows 身份验证模式 ”,则 sa 登录账号被禁用;若想开启 sa 账户,则能使用 ALTER LOGIN 语句;

  1. 在 SQL Server 对象资源管理器中,右击服务器,属性;SQL Server 数据库之SQL Server 数据库的安全设置

  2. 安全性 → 服务器身份验证 ,选择新的服务器身份验证 → 确定;SQL Server 数据库之SQL Server 数据库的安全设置

  3. 确定,重启 SQL Server ,新的验证方式被启用;

3. 创建与删除登录用户

在 SQL Server 中能创建多个登录用户来访问数据库服务器,SQL Server 能对创建的登录用户做严格的设置来控制账户的访问权限、密码策略等;
在 SQL Server 数据库中创建新的登录用户步骤如下:

  1. 在对象资源管理器中找到安全性节点,展开登录名,选择 新建登录名SQL Server 数据库之SQL Server 数据库的安全设置

  2. 登录名-新建对话框 → 常规,输入新建账户的名字 Tim → SQL Server 身份验证,输入密码;SQL Server 数据库之SQL Server 数据库的安全设置

若用户在上述操作中选中了 强制实施密码策略,系统就会对所设置的密码的长度组合复杂度哟一个强制性的要求,提高密码的安全性;

  1. 打开 服务器角色 ,对服务器角色用户向用户授予服务器范围内的安全特权方式进行设定;
    SQL Server 数据库之SQL Server 数据库的安全设置

注意: 选中的是 pubic 特权,这是 SQL Server 中的一类默认角色,若想让角色拥有服务器管理的最高权限,可选择 sysadmin

  1. 打开 用户映射 → 在右上部分选中此账户能操作的数据库 → 在右下部分选中定义登陆者的角色身份;
    SQL Server 数据库之SQL Server 数据库的安全设置

  2. 最后选择 状态,在此页中选中授予允许连接到数据库引擎和已启用登录;SQL Server 数据库之SQL Server 数据库的安全设置

  3. 设置完毕后单击 确定,新的登录账户创建完毕,可在登录名节点下找到新建的登录用户 Tim;
    SQL Server 数据库之SQL Server 数据库的安全设置

若需删除某个账户,只需右击登录名,选择 删除
SQL Server 数据库之SQL Server 数据库的安全设置

4. 创建与删除数据库用户

数据库用户是映射到登录账户上的;
在 SQL Server 数据库中能为一个数据库创建多个数据库用户
创建数据库用户的操作步骤如下所示:

  1. 数据库安全性用户,右击选择 新建用户SQL Server 数据库之SQL Server 数据库的安全设置

  2. 常规登录名 → 输入 登录名SQL Server 数据库之SQL Server 数据库的安全设置

  3. 此用户拥有的架构 中勾线 db_accessadmin;SQL Server 数据库之SQL Server 数据库的安全设置

  4. 在数据库角色成员身份中勾选 db_accessadmin;
    SQL Server 数据库之SQL Server 数据库的安全设置

  5. 单击确定,即可完成数据库用户的添加;

若想删除数据库,只需要右击要删除的用户名,选择 删除,即可;

注意: 除了使用用户资源管理器进行创建用户之外,新建用户还能用 T-SQL 语句 CREATE USERCREATE LOGIN 语句进行创建;

5. 设置服务器角色权限

当几个用户需要在某个特定的数据库中执行类型的动作时,能向该数据库中添加一个角色;
数据库角色指定了能访问相同数据库对象的一组数据库用户;
固定服务器角色已经具备了执行指定操作的权限,能把其他登录名作为成员添加到固定服务器角色中,这样该登录名就能继承固定服务器角色的权限;
在 SQL Server 数据库中默认的服务器角色如下:
SQL Server 数据库之SQL Server 数据库的安全设置

服务器角色的作用和权限,如下所示:

  • bulkadmin: 这个服务器角色的成员能运行 BULK INSERT 语句;这条语句运行从文本文件中将数据导入 SQL Server 数据库中,为需要执行大容量插入数据的域账户而设计;
  • dbcreator: 这个服务器角色成员能创建、更改、删除和还原任何数据库;这既是适合助理 DBA 的角色,也可能是适合开发人员的角色;
  • diskadmin: 这个服务器角色能用于管理磁盘文件,它适合助理 DBA;
  • processadmin: SQL Server 数据库能够多任务化,就是能通过执行多个进程做多个事件;
  • serveradmin: 这个数据库角色的成员能更改服务器范围的配置选项和关闭服务器;
  • setupadmin: 为需要管理链接服务器和控制启动的存储过程的用户而设计,这个角色的成员能添加到 setupadmin,能增加、删除和配置服务器,并控制启动过程;
  • sysadmin: 这个服务器角色有权在 SQL Server 数据库中执行任何任务;
  • pubilc: 两大特点,一个初始状态时没有权限,二是所有的数据库用户都是它的成员;

5.1. 查看角色属性

要查看服务器角色的属性时,右击需要查看的角色名 → 属性SQL Server 数据库之SQL Server 数据库的安全设置

5.2 操作权限

对角色权限的操作分为 3 种状态,授予撤销拒绝,分别用 GRANTREVOKEDENY 语句进行操作;
授予权限的基本语法格式如下:

GRANT
{ALL|statement [,..n] }
TO security_account [,..n]

注意: 将权限授予角色,而不是单独的登录名或用户;当某个用户由其他人取代时,能从角色中删除离开的用户,并向角色中添加新用户,与该角色关联的许多权限都将自动应用于新用户;

6. 密码策略

在 Windows Server 2003 或更高版本中运行时,SQL Server 数据库能使用 Windows 密码策略机制;
SQL Server 数据库能将在内部使用的密码应用在 Windows Server 2003 中,两者使用相同的复杂性策略和过期策略;
此功能需要通过 NetValidatePasswordPolicy API 实现,该 API 只在 Windows Server 2003 和更高版本中提供;

6.1. 密码复杂性

密码复杂性策略通过增加可能密码的数量来阻止强力攻击;实施密码复杂性策略时,新密码必须符合密码不能包含全部或部分用户账户名的原则,部分账户名是指 3 个或 3 个以上两端用 “空白”空格、制表符、回车符等)或任何以下字符分隔的连续字母数字字符:逗号(,)、句号(.)、连字符(-)、下划线(_)或数字字符号(#)

密码的设置时要注意:

  • 密码长度至少为 8 个字符;
  • 密码包含以下 4 类字符中的 3 类:拉丁文大写字母(AZ)、拉丁文小写字母(az)、10 个基本数字(0~9);
  • 非字母数字字符,如感叹号(!)、美元符号($)、数字字符(#)或百分号(%);

密码最长可为 128 个字符;使用的密码应尽可能长、尽可能复杂;

6.2. 密码过期

密码过期策略用于管理密码的使用过程;若 SQL Server 数据库中试试密码过期策略,则系统将提醒用户更改旧密码,并禁用带有过期密码的账户;
用户能为每个 SQL Server 登录名单独配置密码策略实施,通过使用 ALTER LOGIN(T-SQL) 来配置 SQL Server 登录名的密码策略选项;

配置密码策略实施时,适用以下规则,

  1. CHECK_POLICY 改为 ON,则将出现以下行为:
    除非将 CHECK_EXPIRATION 显示地设置为 OFF,否则也会将其设置为 ON;
    密码历史使用当前的密码哈希值初始化;
  2. CHECK_POLICY 改为 OFF,则将出现以下行为:
    CHECK_EXPIRATION 也设置为 OFF;
    清除密码历史;
    lockout_time 的值被重置;

若指定 MUST_cHANGE,则 CHECK_EXPIRATIONCHECK_POLICY 必须设置为 ON;否则,该语句将失败;
CHECK_POLICY 设置为 OFF,则 CHECK_EXPIRATION 不能设置为 ON,包含此选项组合的 ALTER LOGIN 语句将失败;文章来源地址https://www.toymoban.com/news/detail-458197.html

到了这里,关于SQL Server 数据库之SQL Server 数据库的安全设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在sql server数据库设置最大并发连接数

    1.查询所有 SELECT * FROM sysprocesses   WHERE dbid in( select database_id from sys.databases where name=\\\'ECS_DEV\\\' )order by program_name; 2.查询连接数 SELECT program_name,COUNT(1) FROM sysprocesses   WHERE dbid in( select database_id from sys.databases where name=\\\'ECS_DEV\\\' )group by program_name; 3.查询服务器运行程序连接数 SELECT count

    2024年02月06日
    浏览(32)
  • sql server 如何设置数据库某个字段值不能重复?

    在 SQL Server 中,可以通过以下两种方式设置数据库某个字段值不能重复: 唯一约束(Unique Constraint):唯一约束是在表级别上定义的约束,用于确保某个列的值在表中是唯一的。可以通过以下 SQL 语句来创建唯一约束: 唯一索引(Unique Index):唯一索引也用于确保某个列的值

    2024年02月13日
    浏览(41)
  • 如何在WindowsServer服务器上配置SQL Server数据库?

    作者:西瓜程序猿 主页传送门:https://www.cnblogs.com/kimiliucn 服务器版本:Windows Server 2016 数据库版本:SQL Server 2016 当时买了一台Windows Server服务器,然后安装上SQL Server后,想通过外网访问到数据库,遇到了一些问题,查了很多资料也踩了很多坑。本文主要介绍如何配置SQL Ser

    2024年02月11日
    浏览(31)
  • SQL SERVER从一台服务器复制数据库至另一台数据库详解--方法1

    一、 数据库的备份 1 选择想要复制的数据库   2右键点击数据库,选择任务、备份   3 生成备份文件   4 退出到主界面,右键新建数据库  5 在新建的数据库中右键选择还原,点击设备后面的三个点,在弹窗中把刚才备份的数据库文件选中。  6 点击确定以后,数据库还原完毕

    2024年02月06日
    浏览(42)
  • DataGrip连接数据库设置(MySQL、Oracle、SQL Server)

    1.1 配置信息 1.2 测试查询employees库中departments表信息 employees为测试库,具体来源,参考这篇文章 下载并导入MySQL示例数据库employees 。 1.3 测试查询employees库中employees表信息 将SID改为orcl: 3.1 打开DG后新建Data Source-Microsoft SQL Server 下载驱动文件后按图中配置: 3.2 开启Named Pipes和

    2024年02月12日
    浏览(35)
  • SQL Server数据库如何添加Oracle链接服务器(Windows系统)

    官方下载地址:https://www.oracle.com/technetwork/topics/dotnet/downloads/odacdeploy-4242173.html 1.2.1 下载的压缩包解压位置   比如我直接放到D盘根目录 1.2.2 接着用管理员运行Cmd 此处一定要用管理员运行,否则会报错 使用管理员打开终端,运行如下命令: 在系统环境变量中,为Path添加“

    2024年02月14日
    浏览(56)
  • SQL server设置用户只能访问特定数据库、访问特定表或视图

    在实际业务场景我们可能需要开放单独用户给第三方使用,并且不想让第三方看到与业务不相关的表或视图,我们需要在数据库中设置一切权限来实现此功能: 1.创建用户名 选择默认数据库 服务器角色默认为public 用户映射选择指定数据库 打开需要开放权限的数据库,这里我

    2023年04月09日
    浏览(32)
  • 【数据库 Microsoft SQL Server】实验五 数据库安全性与完整性实验

    一、实验目的 1、掌握数据库的自主存取控制方法,学会使用SQL数据控制语句来进行授权控制和权限回收,理解视图安全机制。 2、掌握数据库的三类完整性约束,定义数据库完整性及违约处理,通过违约操作实验来理解数据库完整性机制。 二、实验环境与实验准备工作 实验

    2024年02月08日
    浏览(30)
  • server win搭建apache网站服务器+php网站+MY SQL数据库调用电子阅览室

    1、使用开源的免费数据库Mysql; 2、自己建网站的发布; 3、使用php代码建网站; 4、使用windows server作为服务器; 5、使用apache作为网站服务器。 apache下载地址一:Apache VS17 binaries and modules download apache下载地址二:Apche下载 1、https://httpd.apache.org 2、点Files for Microsoft Windows 3、点

    2024年04月10日
    浏览(39)
  • idea 中无法连接 sql server 数据库,报错:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

    上面的代码报错如下: 在dbURL中把;trustServerCertificate=true加上后就没有报错了 无报错 因为sql server在jdbc连接的时候需要一定的安全验证,只需要在dbURL中把;trustServerCertificate=true加上后令其跳过就行了

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包