SQL Server权限管理与数据恢复

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.rhkb.cn/news/212408.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式搜索引擎03

1.数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近…

vue3 + mark.js 实现文字标注功能

效果图 安装依赖 npm install mark.js --save-dev npm i nanoid代码块 <template><!-- 文档标注 --><header><el-buttontype"primary":disabled"selectedTextList.length 0 ? true : false"ghostclick"handleAllDelete"…

AMEYA360--罗姆与Quanmatic公司利用量子技术优化制造工序并完成验证

全球知名半导体制造商罗姆(总部位于日本京都市)于2023年1月起与 Quanmatic Inc.(总部位于日本东京都新宿区&#xff0c;以下简称“Quanmatic”)展开合作&#xff0c;在半导体制造工序之一的EDS工序中测试并引入量子技术&#xff0c;以优化制造工序中的组合。目前&#xff0c;双…

流量分析1--菜刀666

1&#xff1a;菜刀666&#xff1a; 题目描述 分析流量包&#xff0c;过滤http数据流 追踪TCP数据流 对比第5个流和第7个流发现&#xff0c;同样的目录下 多出了6666.jpg。猜测是由攻击者上传&#xff0c;直接在请求包里搜索FFD8--FFD9 保存为1.jpg 利用foremost工具对1.jpg进…

关于IDAE中maven的作用以及如何配置MAVEN

关于IDAE中maven的作用以及如何配置MAVEN 1、Maven是什么2、Idea中对于Maven的配置3、下载依赖时&#xff0c;Idea下方的显示3.1、Maven中央仓库的下载显示界面3.2、阿里云仓库的下载显示界面 4、Maven在Idea中的使用4.1、clean4.2、validate4.3、compile4.4、test&#xff08;…

git-vscode

git-vscode ctrlshiftp 创建分支 create branch 直接切到新的分支了 切换分支 直接点左下角自己选择 vscode中配置仓库 https://blog.csdn.net/zora_55/article/details/129709251 推送tag tag作用就是在 Git 中&#xff0c;标记存储库历史记录中特定提交的一种方式。t…

node.js和浏览器之间的区别

node.js是什么 Node.js是一种基于Chrome V8引擎的JavaScript运行环境&#xff0c;可以在服务器端运行JavaScript代码 Node.js 在浏览器之外运行 V8 JavaScript 引擎。 这使得 Node.js 非常高效。 浏览器如何运行js代码 nodejs运行环境 在浏览器中&#xff0c;大部分时间你所…

三层交换机配置DHCP服务

第一步&#xff1a;进入二层交换机Switch 1&#xff09;输入命令&#xff1a; Switch(config)#vlan 10 Switch(config)#vlan 20 2&#xff09;修改F0/1 和F0/2为access口&#xff0c;F0/24为trunk口 第二步&#xff1a;进入三层交换机 1&#xff09;输入命令 Switch(config)#…

工作中常用的RabbitMQ实践

目录 1.前置 2.导入依赖 3.生产者 4.消费者 5.验证 验证Direct 验证Fanout 验证Topic 1.前置 安装了rabbitmq&#xff0c;并成功启动 2.导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

B树你需要了解一下

介绍B树的度数主要特点应用场景时间复杂度代码示例拓展 介绍 B树&#xff08;B-tree&#xff09;是一种自平衡的树&#xff0c;能够保持数据有序&#xff0c;常被用于数据库和文件系统的实现。 B树可以看作是一般化的二叉查找树&#xff0c;它允许拥有多于2个子节点。与自平衡…

Spring boot 使用Redis 消息发布订阅

Spring boot 使用Redis 消息发布订阅 文章目录 Spring boot 使用Redis 消息发布订阅Redis 消息发布订阅Redis 发布订阅 命令 Spring boot 实现消息发布订阅发布消息消息监听主题订阅 Spring boot 监听 Key 过期事件消息监听主题订阅 最近在做请求风控的时候&#xff0c;在网上搜…

ESP32-Web-Server编程- 在 Web 上开发动态纪念册

ESP32-Web-Server编程- 在 Web 上开发动态纪念册 概述 Web 有很多有趣的玩法&#xff0c;在打开网页的同时送她一个惊喜。 需求及功能解析 本节演示在 ESP32 上部署一个 Web&#xff0c;当打开对应的网页时&#xff0c;将运行动态的网页内容&#xff0c;显示炫酷的纪念贺词…

.NET 8 中 Android 资源生成的改进和变化

作者&#xff1a;Dean Ellis 排版&#xff1a;Alan Wang 随着 .NET 8 的发布&#xff0c;我们引入了一个新系统&#xff0c;用于生成访问 Android 资源的 C# 代码。 在 Xamarin.Android、.NET 6 和 .NET 7 中生成 Resource.designer.cs 文件的系统已经被弃用。 新系统生成一个名…

苍穹外卖+git开源

搁置了很久重新开始学 为了学习方便&#xff0c;苍穹外卖的前后端代码已放至git开源。前端源代码请看给i他-->sky-take-out: 苍穹外卖 git学习-->Git基础使用-CSDN博客 后端接口员工管理和分类管理模块 添加员工&#xff0c;添加的表单账号、手机号、身份证都…

Spring Boot的日志

打印日志 打印日志的步骤: • 在程序中得到日志对象. • 使用日志对象输出要打印的内容 在程序中得到日志对象 在程序中获取日志对象需要使用日志工厂LoggerFactory,代码如下: package com.example.demo;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public c…

安装you-get(mac)

1、首先要有python环境 2、更新pip python -m pip install --upgrade pip 3、安装you-get pip install you-get;

T天池SQL训练营(五)-窗口函数等

–天池龙珠计划SQL训练营 5.1窗口函数 5.1.1窗口函数概念及基本的使用方法 窗口函数也称为OLAP函数。OLAP 是OnLine AnalyticalProcessing 的简称&#xff0c;意思是对数据库数据进行实时分析处理。 为了便于理解&#xff0c;称之为窗口函数。常规的SELECT语句都是对整张表进…

创建vue项目:node.js下载安装、配置环境变量,下载安装cnpm,配置npm的目录、镜像,安装vue、搭建vue项目开发环境(保姆级教程一)

今天讲解 Windows 如何创建 vue 项目&#xff0c;搭建 vue 开发环境&#xff0c;这是这个系列的第一章&#xff0c;有什么问题请留言&#xff0c;请点赞收藏&#xff01;&#xff01;&#xff01; 文章目录 一、Vue简单介绍二、开始搭建1、安装node.js环境2、配置npm下载时的默…

一文3000字从0到1用Python进行gRPC接口测试!

gRPC 是一个高性能、通用的开源RPC框架&#xff0c;其由 Google 主要面向移动应用开发并基于HTTP/2 协议标准而设计&#xff0c;基于 ProtoBuf(Protocol Buffers) 序列化协议开发&#xff0c;且支持众多开发语言。 自gRPC推出以来&#xff0c;已经广泛应用于各种服务之中。在测…

数据可视化免费化的双面影响探析

近年来数据可视化的免费化也越来越明显&#xff0c;今天就以我作为可视化设计师的经验来和大家分析一下&#xff0c;数据可视化工具免费化所带来的利与弊。 先从好处入手&#xff0c;最明显的就是免费化可以让数据可视化工具得到更广泛的使用。 免费数据可视化工具使得更多人可…