当前位置: 首页 > news >正文

MSSQL数据库安全配置

预备知识

1、数据库安全的概念

    对任何企业组织来说,数据的安全性最为重要。安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到数据库,并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作。因此安全性管理与用户管理是密不可分的。

2、SQL Server的安全性

    SQL Server 2000 的安全性管理是建立在认证(authentication)和访问许可(permission)两者机制上的。认证是用来确定登录SQL Server 的用户的登录账号和密码是否正确,以此来验证其是否具有连接SQL Server 的权限。但是通过认证阶段并不代表该用户能够访问SQL Server 中的数据,用户只有在获取访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作(主要是针对数据库对象,如表、视图、存储过程等),这种用户访问数据库权限的设置是通过用户账号来实现的,同时在SQL Server 中,角色作为用户组的代替物大大地简化了安全性管理。

3、SQL Server的认证模式

    SQL Server提供了2种安全管理模式,即Windows 身份验证模式和混合身份验证模式,数据库设计者和数据库管理员可以根据实际情况进行选择。每个用户必须通过登录帐户建立自己的身份验证,以获得对SQL Server 实例的访问权限。

    SQL Server 2000提供了两种确认用户的登录认证模式:Windows认证模式和混合认证模式。

    (1)Windows认证模式

    SQL Server数据库系统通常运行在NT服务器平台或基于NT 构架的Windows 2000上,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,所以Windows认证模式正是利用这一用户安全性和账号管理的机制,允许SQL Server也可以使用NT的用户名和口令。在该模式下,用户只要通过Windows的认证就可连接到SQL Server,而SQL Server本身也不需要管理一套登录数据。

    (2)混合认证模式

    在混合认证模式下,Windows认证和SQL Server 认证这两种认证模式都是可用的。NT的用户既可以使用NT认证,也可以使用SQL Server 认证。

    在SQL Server认证模式下,用户在连接SQL Server时必须提供登录名和登录密码,这些登录信息存储在系统表syslogins中,与NT的登录账号无关。SQL Server自己执行认证处理,如果输入的登录信息与系统表syslogins 中的某条记录相匹配则表明登录成功。

4、SQL Server权限管理

    SQL Server数据库管理系统利用角色设置、管理用户的权限。登录名本身并不能让用户访问服务器中的数据库资源。要访问具体数据库中的资源,还必须有该数据库的用户名。新的登录创建以后,才能创建数据库用户,数据库用户在特定的数据库内创建,必须和某个登录名相关联。数据库用户创建后,通过授予用户权限来指定用户访问特定对象的权限。通过角色,可以将用户集中到一个单元中,然后对这个单元应用权限。对角色授予或收回权限时,将对其中的所有成员生效。利用角色进行权限设置可以实现对所有用户权限的设置,大大减少了管理员的工作量。

配置环境

安装Windows 2003和SQL Server 2005软件的计算机。

步骤一、管理SQL Server认证模式

    (1)确认 SQL Server 验证

    ①在桌面上单击“开始”,选择“程序”→“Microsoft SQL Server 2005” →“SQL Server Management Studio”,出现“连接到服务器”对话框。

    ②在“连接到服务器”对话框中,按表中的指定值进行设置,然后单击“连接”按钮,如下图。

     

   

    ③如果“对象资源管理器”不可见,则选择“视图”菜单上的“对象资源管理器”。

    ④在“对象资源管理器”中,右击服务器,然后单击“属性”。

   

    ⑤单击“安全性”。

    ⑥在“服务器身份验证”选项区中,可以选择身份验证模式,“Windows 身份验证模式”或“SQL Server 和Windows 身份验证模式”,本次选择“SQL Server 和Windows 身份验证模式”。

    ⑦选择身份验证模式后,单击“确定”按钮以执行该更改。有如下提示:

    ⑧在“对象资源管理器”中,右击服务器,然后单击“重新启动”。

   

    当提示确认时,请单击“是”。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 北京君正低功耗MCU芯片应用在柯氏音法电子血压计
  • 使用 ELK Stack 进行云原生日志记录和监控:AWS 中的开发运营方法
  • Python【1】
  • JS设计模式之“神奇的魔术师” - 简单工厂模式
  • Python3.8绿色便携版嵌入式版制作
  • 《JavaEE进阶》----7.<SpringMVC实践项目:【登录页面的验证】>
  • 深入解析Spring Boot中的`@Transactional`注解
  • 数据结构--带头双向循环链表
  • Gitlab-ce upgrade 16.0.1 to 17.3.1【Gitlab-ce 16.0.1 升级 17.3.1】
  • 828华为云征文|基于华为云Flexus云服务器X搭建FTP服务器
  • 集成电路学习:什么是IDE集成开发环境
  • 量化交易面试:什么是资本资产定价模型?
  • 新兴专业网络安全专业就业前景怎么样?有哪些就业去向?零基础入门到精通,收藏这一篇就够了
  • 子网ip和ip地址一样吗?子网ip地址怎么算
  • 每日工作总结(1)2024-0902
  • [Vue CLI 3] 配置解析之 css.extract
  • 230. Kth Smallest Element in a BST
  • Android系统模拟器绘制实现概述
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • express如何解决request entity too large问题
  • idea + plantuml 画流程图
  • in typeof instanceof ===这些运算符有什么作用
  • java2019面试题北京
  • Promise面试题,控制异步流程
  • Vue 重置组件到初始状态
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 力扣(LeetCode)56
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 积累各种好的链接
  • 移动端高清、多屏适配方案
  • # Redis 入门到精通(七)-- redis 删除策略
  • #FPGA(基础知识)
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • #在 README.md 中生成项目目录结构
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (152)时序收敛--->(02)时序收敛二
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (rabbitmq的高级特性)消息可靠性
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (七)c52学习之旅-中断
  • (三)uboot源码分析
  • (算法设计与分析)第一章算法概述-习题
  • (五)MySQL的备份及恢复
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET 5种线程安全集合
  • .net 7和core版 SignalR
  • .NET Core WebAPI中封装Swagger配置