SQL Server权限管理与数据恢复

news2025/1/20 14:59:04

SQL Server的安全机制

         SOL Server 的安全性是建立在认证和访问许可两种安全机制之上的,其中,认证用来确定登录 SQlL Server 的用户的登录账户和密码是否正确,以此来验证其是否具有连接 SQL. Server的权限:访 问许可用来授予用户或组能够在数据库中执行哪些操作,如创建表、查询数据等。

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

                 >客户机的安全机制。

                >服务器的安全机制。

                >数据库的安全机制。

                >数据对象的安全机制。

        用户必须能够登录客户机,然后才能使用SQlL Server 应用程序或管理工具来访问数据库。对于 使用Windows系统的客户来说,它主要涉及操作系统的安全,主要是Windows账号的安全. 用户登录服务器时,必须使用一个账号(也称为登录账号)和密码,服务器会按照不同的身份 验证方式来判断这个账号和密码的正确性。

        任何能够登录服务器的账号和密码都对应着一个默认的数据库,SQL Server 对数据库级的权限 管理采用的是“数据库用户”的概念。 用户通过前面三道防线后才能访问数据库中的数据对象,对数据对象能够做什么样的访问称为 访问权限,常见的访问权限包括数据的查询,更新,插入和删除。

SQL Server 的身份验证模式

        有以下两种身份验证模式。

> Windows身份验证模式

> SOL Server和Windows身份验证模式(混合验证模式)

 

Windows 身份验证模式

        当使用Windows用户身份验证时,SOlL Server会使用操作系统中的Windows用户和密码。也就 是说.用户身份由Windows进行确认.SOL Server不要求提供密码,也不执行身份验证.Windows 身份验证使用了Kerberos安全协议.比SQL Server身份验证更为安全,可以保护SOL Server免受大 部分来自lnternet的攻击. Windows身份验证模式适用于在局域网内部(如AD域)访问数据库的情况。

SQL Server和Windows身份验证模式

        SQL Server 和Windows 身份验证模式也称为混合验证模式,允许用户使用Windows身份验证或 SOL Server身份验证进行连接。该模式通常用于运行在非Windows系统环境的用户、Internet用户或 混杂的工作组用户访问SQLServer时.例如,外界用户访问数据库或不能登录indows域时。         当使用SOL Server身份验证时,在SOL Server中创建的登录名并不是基于Windows用户账户的。 用户名和密码均通过使用SOLServer创建并存储在SOL Server中,如果必须使用SOL Server身份验 证,必须为所有SQL Server 账户启用密码策略,如强制密码过期,密码复杂度等。

访问许可权限设置

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

服务器级别权限设置

        在SOLServer 2016中内置了一组服务器角色(也称为固定服务器角色).这些角色用来执行服 务器级别的管理,如创建数据库、管理和审核登录账户、中止SQL Server实例中长时间运行的进程 等,它们作用于整台服务器,而非单独某个数据库. SQL Server 2016中的“角色”类似于Windows中的“组”。通过将 不同的角色赋予不同的用户,用户可以具有不同的操作权限。 一个用户可以拥有多个固定服务器角色权限,但是固定服务器角色不能被修改、添加和删除。 

        SQL Server中还有一个特殊的服务器角色public,所有登录名都属 于该角色。该角色只拥有查看数据库的权限。

为用户分配服务器级别权限的具体步骤如下。 在SSMS中依次展开“SOL Server实例”→“安全性”→“登录名”节点,右击某个登录名,在 弹出的快捷菜单中选择“属性”命令,在打开的“登录属性”窗口中选择“服务器角色”选项,可 以设置需要赋予该用户的权限.

       

数据库级别权限设置 

新建数据库用户

        建立了SQL Server登录账户后,需要赋予用户权限,用户才能够对数据库进行查询与更新等操 作.登录账户用于访问SQL Server实例,数据库用户则用于访问数据库.如果需要访问某个数据库, 则需要在该数据库中建立相应的数据库用户。 实际上,数据库用户是映射到登录账户上的。

内置数据库用户

        创建的任何一个数据库中默认包含两个特殊用户dbo(Database Owner)和guest,且不能被修改或删除。 doo是数据库的所有者,对该数据库具有所有权限。默认情 况下,创建数据库的登录账户自动对应于该数据库的dbo 用户.dbo 用户又属于db_owner 数据库角色的成员,而 db_owner 数据库角色具有对该数据库的全部管理权限,因 此可以说,哪个登录账户创建了数据库,这个登录账户就 具备了该数据库的所有管理权限。此外,登录账户sa对应 所有系统数据库的dbo用户. guest是来宾账户,同样不能被删除。guest 用户不映射任何 登录账户,所有没映射数据库用户的登录账户都将以guest 身份访问数据库.guest用户默认没有任何权限,且处于禁 用状态,因此,启用并为其授予权限时一定要慎重。

 

SQL Server备份和还原

        在Access、FoxPro这样的桌面型数据库中,备份就是将数据库文件复制到另外一个安全的地方, 还原则是将这些文件复制回原位置,而SQL Server 数据库则不仅仅是复制文件这么简单. 在 SOlL. Server 中提供了三种常用的备份类型,分别是完整备份,差异备份和事务日志备份。

1.完整备份

完整备份包括对整个数据库、部分事务日志、数据库结构和文件结构的备份。完整备份代表的 是备份完成时刻的数据库. 完整备份是备份的基础,提供了任何其他备份的基准.其他备份(如差异备份)只有在执行完整备份之后才能被执行。

2.差异备份

差异备份是指对上一次完整备份之后所有更改的数据做备份,备份过程能够识别出数据库中哪 一部分被修改了,并只对这一部分做备份。 差异备份的优势是速度快,备份数据库所需要的时间很少,但差异备份要求事先已执行过一次 完整备份.

3.事务日志备份

事务日志备份记录了数据库的所有改变。在备份事务日志时需要考虑以下因素。

>在执行了至少一次完整备份后,才能备份事务日志,

>在简单恢复模式下不能备份事务日志。

>如果没有与其相一致的数据库备份,则不能恢复事务日志。

在执行数据库事务日志备份期间,SQLServer将做以下工作。

>备份事务日志:从上一次成功的事务日志备份到当前事务日志的尾部.

>截断事务日志:到事务日志活动部分的开始,丢弃不活动的部分。

此外,事务日志备份主要是T-SQL.语句,而不是整个数据库结构,文件结构或数据。

恢复模式

        不管是备份还是还原,都是在一定的恢复模式中进行的。恢复模式是数据库的一种特性,控制 着数据库备份和还原的基本行为,数据库管理员应根据企业系统实际运作的需求及对数据可用性和 恢复的需求来选择合适的恢复模式。 SQL Server 提供了三种恢复模式,分别是简单恢复模式,完整恢复模式和大容量日志恢复模式.

1.简单恢复模式

在简单恢复模式下,不活动的日志将被删除,所以不支持事务日志备份,进行了一些数据库备份。在最近的备份t5之后的一段时间.此数据库中出现了 数据丢失,数据库管理员将使用t5备份来将数据库还原到备份完成的时间点,之后对数据库进行的 更改都将丢失。

        由于不支持事务日志备份,数据库只能恢复到备份的时间点,而无法将数据库还原到故障点或 特定的时间点.因此,简单恢复模式主要用于小型数据库和不经常更改的数据库.。

2.完整恢复模式

        对于十分重要的生产数据库,如银行、电信系统,在发生故障时可能要求恢复到历史上某个时 刻。一旦发生故障时,必须保证数据不丢失,保证数据能够恢复到发生故障时的状态,这样,就必 须采用完整恢复模式. 完整恢复模式可在最大范围内防止出现故障时丢失数据,它包括数据库备份和事务日志备份, 并提供全面保护,使数据库免受媒体故障的影响。这个模式使用数据库和所有日志的备份去恢复数 据库,如果日志没有损坏,SQL Server可以恢复所有数据,除了在失败那一刻的事务。 由于支持事务日志备份,因此完整恢复模式可以将数据库恢复到任意一个指定的时间点。

执行了一个数据库备份(Db_1)和两个例行的日志备份(Log_1和Log_2).在执 行Log_2日志备份后,数据库中的数据发生丢失。在还原这三个备份之前,数据库管理员必须先备 份日志尾部,然后还原Db_1.Log_1和Log_2.接着还原并恢复尾日志备份(Tail).这能将数据库恢 复到故障点,从而恢复所有数据。恢复操作可以还原所有已提交的事务,正在进行的事务将回滚。 

3.大容量日志恢复模式

DBA在某些场合需要对数据库执行一些大批量的数据插入.更新或删除操作,如一次需要导入 上百万条数据。如果在完整恢复模式下,那么这些操作将产生大量的日志记录,导致数据库性能很 低。在这种环境下,可以采用大容量日志恢复模式来提高性能.

虽然大容量日志恢复模式会完整地记录其他事务,但它只对大容量操作进行最小记录,大容量 日志恢复模式是对完整恢复模式的补充,提供了良好的性能,且占用较少的日志空间,但是,大容 量日志恢复模式增加了这些大容量复制操作丢失数据的风险,因为最小日志记录大容量操作不会逐 个记录事务。 只要日志备份包含大容量操作,数据库就只能恢复到日志备份的结尾,而不能恢复到某个时间 点或日志备份中某个标记的事务。

4.更改恢复模式

下面以pc数据库为例,介绍如何更改恢复模式。

(1)打开SSMS.在对象资源管理器中,依次展开‘SQLServer 实例”→,“数据库”节点,右击 pc数据库,在弹出的快捷菜单中选择“属性”命令。

(2)在打开的“数据库属性”窗口中选择“选项”选项,在“恢复模式”下拉列表中选择“完 整”恢复模式。

(3)单击“确定”按钮.完成更改恢复模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1293348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux本地部署1Panel服务器运维管理面板并实现公网访问

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、…

生成式AI赋能千行百业加速创新,2023亚马逊云科技re:Invent行业盘点

2023亚马逊云科技re:Invent全球大会已于上周圆满闭幕,在本次大会中,亚马逊云科技又为大家带来了很多功能/项目迭代更新,也重磅发布了很多全新的功能。今天从行业视角来盘点回顾哪些重磅发布适用于垂直行业客户,以及面向汽车、制造…

人工智能-异步计算

异步计算 今天的计算机是高度并行的系统,由多个CPU核、多个GPU、多个处理单元组成。通常每个CPU核有多个线程,每个设备通常有多个GPU,每个GPU有多个处理单元。总之,我们可以同时处理许多不同的事情,并且通常是在不同的…

使用Python实现爬虫IP负载均衡和高可用集群

做大型爬虫项目经常遇到请求频率过高的问题,这里需要说的是使用爬虫IP可以提高抓取效率,那么我们通过什么方法才能实现爬虫IP负载均衡和高可用集群,并且能快速的部署并且完成爬虫项目。 通常在Python中实现爬虫ip负载均衡和高可用集群需要一…

微机原理14

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。) 字符’A’的 ASCI 码是() A. OAH B. 41H C. 61H D. OAOH 2, 8086微处理器的地址线有() A. 16条…

网络安全(五)--Linux 入侵检测分析技术

8. Linux 入侵检测分析技术 目标 了解入侵检测分析的基本方法掌握查看登录失败用户的方法掌握查阅历史命令的方法掌握检查系统开机自启服务的方法 8.1. 概述 最好的安全防护当然是“域敌于国门之外”, 通过安全防护技术,来保证当前主机不被非授权人员…

uni-app 微信小程序之好看的ui登录页面(五)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程…

uni-app 微信小程序之好看的ui登录页面(一)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程…

ChatGPT/GPT4科研实践篇: AI绘图+论文写作+编程

1、熟练掌握ChatGPT提示词技巧及各种应用方法,并成为工作中的助手。 2、通过案例掌握ChatGPT撰写、修改论文及工作报告,提供写作能力及优化工作 3、熟练掌握ChatGPT融合相关插件的应用,完成数据分析、编程以及深度学习等相关科研项目。 4、…

基于ssm vue协同过滤算法的图书推荐系统源码和论文

基于ssm vue协同过滤算法的图书推荐系统源码和论文742 idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 环境: jdk8 tomcat8.5 开发技术 ssm 摘 要 “互联网”的战略实施后,很多行业的信息化水平都有了很大的提升。但是目前很多行业…

Leetcode算法题笔记(1)

目录 哈希1. 两数之和1.1 解法11.1 解法2 2. 字母异位词分组2.1 解法12.2 解法2 3. 最长连续序列3.1 解法 小结 双指针4. 移动零4.1 解法14.2 解法2 5. 盛最多水的容器5.1 解法一5.2 解法二 6. 三数之和6.1 解法16.2 解法2 7. 接雨水7.1 解法1 小结 滑动窗口8. 无重复字符的最长…

区分node,npm,nvm

目录 一,nodejs二,npm三,nvm 区分node,npm,nvm 几年前学习前端的时候学习的就是htmlcssjs 三件套。 现在只学习这些已经不能满足需要了。 一,nodejs nodejs是编程语言javascript运行时环境。(比…

msvcp140_ATOMIC_WAIT.dll丢失的相关解决方法分享

在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是msvcp140_CODECVT_IDS.dll丢失。这个错误通常会导致某些应用程序无法正常运行,给用户带来困扰。本文将详细介绍msvcp140_CODECVT_IDS.dll的作用和影响,并提供5个解决办…

【EXCEL】折线图添加垂直x轴的竖线|画图

相关链接:excel 添加垂直竖向直线 如何在Excel中添加水平和垂直线? 因为加辅助列有点不习惯,已经有分位数横坐标了,想着试下用散点图的误差线画 效果图: 步骤: s1:随便框选两列数据–>插入(…

深入浅出分析kafka客户端程序设计 ----- 生产者篇----万字总结

前面在深入理解kafka中提到的只是理论上的设计原理, 本篇讲得是基于c语言的kafka库的程序编写!!!!! 首先要编写生产者的代码,得先知道生产者的逻辑在代码上是怎么体现的 1.kafka生产者的逻辑 …

Nature Communications 高时空分辨率的机器人传感系统及其在纹理识别方面的应用

前沿速览: 现有的触觉传感器虽然可以精确的检测压力、剪切力和应变等物理刺激,但还难以像人类手指一样通过滑动触摸,同时获取静态压力与高频振动来实现精确的纹理识别。为了解决这一问题,来自南方科技大学的郭传飞团队提出了衔接…

深度学习训练过程自查:为什么我的模型不收敛/表现不佳?

代码终于写完了,bug 处理好了,终于跑起来了。但是模型不收敛。或者收敛了,但是加 trick 也表现不良。看着这个精心编写的辣鸡模型,从内心深处生出一股恨铁不成钢的悲愤。 于是开始思考,为什么?哪里出了问题…

MySQL系列(十):主从架构

一:主从架构 常见的主从架构模式有四种: 一主多从架构:适用于读大于写的场景,采用多个从库来分担数据库系统的读压力。多主架构:适用于读写参半的场景,采用多个主库来承载数据库系统整体的读写压力。多主…

12.Java程序设计-基于Springboot框架的Android学习生活交流APP设计与实现

摘要 移动应用在日常生活中扮演着越来越重要的角色,为用户提供了方便的学习和生活交流渠道。本研究旨在设计并实现一款基于Spring Boot框架的Android学习生活交流App,以促进用户之间的信息分享、学术交流和社交互动。 在需求分析阶段,我们明…

Elasticsearch从入门到精通

Elasticsearch简介 应用开发中一个比较常见的功能是搜索,传统应用的解决方案:数据库的模糊查询。 模糊查询存在的问题: 海量数据下效率低下功能不够丰富:不够智能、不能高亮 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据…