iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL Server的权限管理和数据恢复
  • 591
分享到

SQL Server的权限管理和数据恢复

2024-04-02 19:04:59 591人浏览 独家记忆
摘要

一、SQL Server权限设置 sql Server与其他服务器不同,通常保存着运营、开发、市场等重要数据,其中大量数据还涉及机密。因此掌握SQL Server的权限设置是DBA必备的关键技能。 1、SQ

一、SQL Server权限设置

sql Server与其他服务器不同,通常保存着运营、开发、市场等重要数据,其中大量数据还涉及机密。因此掌握SQL Server的权限设置是DBA必备的关键技能。

1、SQL Server的安全机制

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

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

  • 客户机的安全机制;

  • 服务器的安全机制;

  • 数据库的安全机制;

  • 数据对象的安全机制;
  • 用户必须能够登录客户机,然后才能使用SQL Server应用程序或管理工具来访问数据库。对于使用windows系统的客户来说,它主要涉及到操作系统的安全。主要是Windows账号的安全。

  • 用户登录服务器时,必须使用一个账号(也称为登录账号)和密码,服务器会按照不同的身份验证方式来判断这个账号和密码的正确性。

  • 任何能够登录服务器的账号和密码都对应着一个默认的数据库。SQL Server对数据库的权限管理采用的”数据库用户”的概念。

  • 用户通过前面三道防线后才能访问数据库中的数据对象,对数据对象能够做什么样的访问称为访问权限。常见的访问权限包括数据的查询、更新、插入和删除。

2、登录权限设置

1)SQL Server的身份验证方式

SQL Server有以下两种身份验证模式:
Windows身份验证模式;
SQL Server和Windows身份验证模式(混合验证模式);

①Windows身份验证模式

当使用Windows身份验证时,SQL Server会使用操作系统中的Windows用户密码。也就是说,用户身份由Windows进行确认。SQL Server不再提供密码,也不执行身份验证。Windows身份验证使用Kerberos安全协议。比SQL Server身份验证更为安全协议,比SQL Server身份验证更为安全,可以保护SQL Server免受大部分来自网络的非法操作。

Windows身份验证模式适用于局域网内部,访问数据库的情况。

②SQL Server和Windows身份验证模式

SQL Server和Windows 身份验证模式也称为混合验证模式。允许用户使用Windows身份验证或者使用SQL Server身份验证进行连接。该模式通常用于运行非Windows系统环境的用户、Internet用户或混杂的工作组用户访问SQL Server时。例如,外界用户访问数据库或不能登录Windows域时。

当使用SQL Server身份验证时,在SQL Server中创建的登录名并不是基于Windows用户账号的。用户名和密码通过使用SQL Server创建并存储在SQL Server中。如果必须使用SQL Server身份验证,必须为所有SQL Server账号启用密码策略,如强制密码过期、密码复杂度等。

在SSMS中设置服务器身份验证模式,方法如下:

打开SSMS,右击SSMS实例,在弹出的快捷菜单中选择“属性”命令
SQL Server的权限管理和数据恢复

在打开的“服务器属性”窗口中选中“安全性”选项,可以设置身份验证模式
SQL Server的权限管理和数据恢复

2)登录账户设置

通过使用SSMS可以创建和管理登录账户。在默认情况下,SQL Server使用Windows身份验证模式,SQL Server的登录账户无法登录。如果需要利用创建的SQL Server账户登录,需要将身份验证模式改为SQL Server和Windows身份验证模式
SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

在SQL Server中,对SQL Server登录账户提供了以下安全策略:

  • 强制实施密码策略;

  • 强制密码过期;

  • 用户在下次登录时必须更改密码;

当新建SQL Server登录账号时,为了提高其安全性,建议选中“强制密码策略”复选框。

sa是SQL Server的默认管理员账号,由于该账号广为人知,容易成为恶意用户的非法操作目标,因此除非某些程序要求必须使用sa账号,否则建议禁用此账号。绝对不能将sa账号设置为空密码或弱密码,建议创建一个拥有与sa账户权限相同的超级用户来管理数据库。但是不能让拥有管理员权限的账号泛滥。

二、SQL Server访问许可权限设置

SQL Server中的访问许可可以分别从服务器、数据库及对象三个级别进行设置。

1、服务器级别的权限设置

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

一个用户可以拥有多个固定服务器角色权限,但是固定服务器角色不能被修改、添加和删除。具体服务器角色及其能够执行的操作如下:
SQL Server的权限管理和数据恢复
SQL Server中还有一个特殊的服务器角色public,所有登录名都属于该角色。该角色只拥有查看数据库的权限。

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

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

2、数据库级别权限设置

1)新建数据库用户

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

实际上,数据库用户是映射到登录账户上的。建立过程如下:
SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

2)内置数据库用户

创建的任何一个数据库中默认包含两个特殊用户dbo和guest,且不能被修改和删除,如图:
SQL Server的权限管理和数据恢复

  • dbo是数据库的所有者,对数据库具有所有权限。默认情况下,创建数据库的登录账号自动对应于数据库的dbo用户,dbo用户又属于db_owner数据库角色的成员,而db_owner数据库角色具有对数据库的全部权限。因此,可以说那个登录账户创建了数据库,这个登录账户就具备了该数据库的所有管理权限。此外,登录账户sa对应所有系统数据库的dbo用户。

  • guest是来宾用户,同样不可删除。guest用户不映射任何登录账户。所有没映射的登录账户都将以guest用户身份访问数据库。guest用户默认没有任何权限,且处于禁用状态,因此启用并授予权限时一定要慎重。

3)数据库角色

服务器角色主要控制服务器登录名在服务器范围内的访问,但是在设置具体数据库的管理和操作权限方面就显得权限太大了,因此需要依靠数据库角色对数据库级别的对象进行更加细化的权限划分。SQL Server默认提供了一组固定数据库角色,用来赋予用户操作数据库的权限,如查询数据表、备份和还原数据库等。固定数据库角色及其权限如下图:
SQL Server的权限管理和数据恢复

  • 固定数据库还包含有一个名为public的角色,该角色用来捕捉数据库用户的所有默认权限,所有用户都属于public角色,该角色同样不可以被删除;

  • 数据控制语言包括GRANT和REVOKE;

为用户设置数据库级别权限的具体步骤如下:
SQL Server的权限管理和数据恢复

根据自己需求自行配置选项即可
SQL Server的权限管理和数据恢复

3、对象级别权限设置

一个数据库中通常包含多个数据表、视图、存储过程等对象,如果赋予了某个用户对数据库的读取权限,用户就可以读取该数据库下的所有表或视图等。

1)为表授权

SQL Server还提供了一些更细化的权限,如查询、插入或更新数据的权限等,这些权限可以作用于单个表上。常用的权限及其说明如下图:
SQL Server的权限管理和数据恢复

在单个表上授予用户权限的具体步骤如下:
SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复
如果同时赋予了“授予”和“拒绝”权限,则“拒绝”权限的优先级高于“授予”权限。

2)为数据库授权

数据库本身也是对象,为数据库授权是,可以为其授予在数据库中创建其他各种对象的权限,如更改用户、创建表、查询数据等。

在单个数据库上授权用户权限的具体操作步骤如下:
SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

三、SQL Server备份和还原

数据库管理员最担心的情况就是数据库瘫痪,造成数据丢失。而备份作为数据的副本,可以有效的保护和恢复数据。

1、为什么要备份

对于生产数据来讲,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。通常,造成数据丢失的原因主要包括以下几类:

  • 程序错误;
  • 人为错误(如管理员误操作);
  • 计算机失败(系统崩溃);
  • 磁盘失败;
  • 灾难和盗窃;
    所以,数据库管理员的主要职责之一就是实施和规划一个妥善的备份和还原策略以保护数据库,避免由于各种故障造成损失而丢失数据,以在系统失效后尽快地恢复数据库。

2、备份类型

在SQL Server中提供了三种常用的备份类型,分别是完整备份、差异备份和事务日志备份。

1)完整备份

完整备份包括对整个数据库、部分事务日志、数据库结构和文件结构的备份。完成备份代表的是备份完成时刻的数据库。

完整备份是备份的基础,提供了任何其他备份的基准。其他备份(如差异备份)只有在执行完成备份之后才能被执行。

2)差异备份

差异备份是指对上一次完整备份之后所有更改的数据做备份,备份过程能够识别出数据库哪一部分被修改了,并只对这一部分做备份。

差异备份的优势是速度快、备份数据库所需要的时间很少,但差异备份要求事先执行一次完成备份。

3)事务日志备份

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

  • 在执行了至少一次完成备份后,才能备份事务日志;

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

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

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

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

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

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

3、恢复模式

不管是备份还是还原,都是在一定的恢复模式中进行的。恢复模式是数据库的一种特性、控制这数据库备份和还原的基本行为。书籍库管理员应根据企业系统实际运作的需求及对数据可用性和恢复的需求来选择合适的恢复模式。

SQL Server提供了三种恢复模式:简单模式、完整恢复模式和大容量恢复模式。

1)简单恢复模式

在简单恢复下,,不活动的日志将被删除,所以不支持事务日志备份,如下图所示,图中进行了一些数据库备份。在最近的备份t5之后的一段时间,此数据库中出现了数据丢失。数据库管理员将使用t5备份来讲数据库还原到备份完成的时间点,之后对数据库进行更改将丢失。
SQL Server的权限管理和数据恢复
由于不支持事务日志备份、数据库只能恢复到备份的时间点,而无法将数据库还原到故障点或特定的时间点。因此,简单恢复模式主要用于小型数据库和不经常更改的数据库。

2)完整恢复模式

对于十分重要的生产数据库,在发生故障时可能要求恢复到历史上某个时刻。一旦发生故障时,必须保证数据不丢失,一旦发生故障时,必须保证数据不丢失,保证数据能够恢复到发生故障时的状态。这样,就必须采用完整恢复模式。

完整恢复模式可在最大范围内防止出现故障时丢失数据,它包括数据库备份和事务日志备份,并提供全面保护,使数据库免受媒体故障的影响。这个模式使用数据库和所有日志的备份区恢复数据库如果日志没有损坏,SQL Server可以恢复所有数据,除了在失败那一刻的事务。

由于支持事务日志备份,因此完整恢复模式可以将数据库恢复到任意一个指定的时间点。如图:
SQL Server的权限管理和数据恢复
图中,能将数据库恢复到故障点,从而恢复所有数据,恢复操作可以还原所有已提交的事务,正在进行的事务将回滚。

3)大容量日志恢复模式

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

虽然大容量日志恢复模式会完整地记录其他事务,但它只对大容量操作进行最小记录。大容量日志恢复模式是对完整恢复模式的补充,提供了良好的性能,且占用较小的日志空间d.anshi,大容量日志恢复模式增加了这些大容量复制操作丢失数据的风险,因为最小日志记录大容量操作不会逐个记录书屋。

只要日志备份包含大容量操作,数据库就只能恢复到日志备份的结尾,而不能恢复懂啊某个时间点,或日志备份中某个标记的事务。

4)更改恢复模式

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

4、备份设备

在进行备份的时候,首先需要建立一个文件来存储备份的数据,这个备份文件就叫备份设备。

SQL Server使用物理备份设备和逻辑备份设备标识备份设备。

物理备份设备是操作系统用来表示备份设备的名称;比如:C:\Backups\Accounting\Full.bak。

逻辑备份设备是用户定义的别名,用来标识物理备份设备;逻辑备份设备永久地存储在SQL Server内的系统表中,使用逻辑备份设备的优点是引用它比引用物理设备名称简单。

四、备份和还原

1、数据库备份

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

2、数据库还原

SQL Server的权限管理和数据恢复

SQL Server的权限管理和数据恢复

———————— 本文至此结束,感谢阅读 ————————

您可能感兴趣的文档:

--结束END--

本文标题: SQL Server的权限管理和数据恢复

本文链接: https://www.lsjlt.com/news/43814.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL Server数据库之备份和恢复数据库
    目录1. 概述2. 备份类型3. 恢复模式3.1 简单恢复模式3.2 完全恢复模式和大容量日志恢复模式4. 备份数据库5. 恢复数据库1. 概述 在一些对数据可靠性要求很高的行业,若发生意外停机或数据丢失,其损失是十分惨...
    99+
    2023-03-23
    数据库的备份方法 数据库的恢复方式
  • Windows server 2016——SQL server 数据库和表的管理
    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。  公众号:网络豆  座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​   目录 写在前面 介绍 一.SQL Server的数据存储结构 1....
    99+
    2023-09-01
    数据库 原力计划
  • SQL Server 中如何恢复数据库
    本篇文章给大家分享的是有关SQL Server 中如何恢复数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、在SQL Server Ma...
    99+
    2024-04-02
  • 怎么在SQL Server中处理数据库角色权限
    这期内容当中小编将会给大家带来有关怎么在SQL Server中处理数据库角色权限,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。    1:遍...
    99+
    2024-04-02
  • SQL Server和MySQL的数据备份与恢复策略对比。
    SQL Server和MySQL是目前最常用的关系型数据库管理系统之一。在日常的数据库管理中,数据备份与恢复是非常重要的。本文将对SQL Server和MySQL的数据备份与恢复策略进行对比,并提供相应的代码示例。一、数据备份策略SQL S...
    99+
    2023-10-22
    数据恢复 数据备份 策略对比
  • Navicat怎样恢复SQL server的数据库备份
    这篇文章主要介绍Navicat怎样恢复SQL server的数据库备份,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!打开Navicat for MySQL,在左侧激活数据连接,激活数...
    99+
    2024-04-02
  • 数据库 之 MySQL用户和权限管理
    1  概述MySQL用户和权限管理 遵循最小权限授权法则,保证系统的安全性本文主要讲解关于用户MySQL用户和权限管理的相关概念和操作3  MySQL权限类别库级别:对某些库拥有对应的权...
    99+
    2024-04-02
  • SQL Server数据库崩溃后怎么恢复
    这篇文章主要讲解了“SQL Server数据库崩溃后怎么恢复”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL Server数据库崩溃后怎么恢复”吧!任何...
    99+
    2024-04-02
  • 如何恢复XenServer服务器SQL Server数据库数据
    这篇文章主要讲解了“如何恢复XenServer服务器SQL Server数据库数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何恢复XenServer服务器SQL S...
    99+
    2023-06-29
  • PHP函数的数据权限管理函数
    随着互联网的发展和云计算的普及,数据安全越来越受到关注。无论是大型企业还是个人站点,数据的管理和权限控制都是至关重要的。而PHP作为全球最流行的Web编程语言之一,也应运而生了一种PHP函数的数据权限管理函数,可以非常方便地实现不同用户对不...
    99+
    2023-05-19
    函数编程 PHP函数 数据权限管理
  • SQL拼接与数据库权限管理的方法是什么
    SQL拼接是指在SQL语句中通过连接字符拼接多个字符串或表达式,常用于动态生成SQL语句的情况。在SQL中,可以使用拼接符号(如“+...
    99+
    2024-04-29
    SQL
  • SQL Server数据库中有哪些恢复模式
    SQL Server数据库中有哪些恢复模式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.Simple 简单恢复模式,Sim...
    99+
    2024-04-02
  • 如何配置SQL Server数据库恢复模式
    如何配置SQL Server数据库恢复模式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。下面主要介绍配置SQL Server数据库恢复模式...
    99+
    2024-04-02
  • MYSQL数据库管理之权限管理解读
    目录一、mysql权限简介1.MYSQL到底都有哪些权限呢?2.MYSQL的权限如何分布二、MYSQL权限经验原则三、MYSQL权限实战1.GRANT命令使用说明2.创建一个超级用户3.创建一个网站用户(程序用户)4.创...
    99+
    2023-03-20
    MYSQL数据库管理 MYSQL权限管理 MYSQL权限
  • Teradata如何处理数据安全性和权限管理
    Teradata通过以下方式来处理数据安全性和权限管理: 数据加密:Teradata支持数据加密技术,可以对数据进行加密,保护数...
    99+
    2024-04-09
    Teradata
  • 怎么恢复SQL Server 2000损坏的数据库文件
    这篇文章主要讲解了“怎么恢复SQL Server 2000损坏的数据库文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么恢复SQL Server 200...
    99+
    2024-04-02
  • 怎么通过日志恢复SQL Server的历史数据
    这篇文章主要讲解了“怎么通过日志恢复SQL Server的历史数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么通过日志恢复SQL Server的历史数...
    99+
    2024-04-02
  • MySQL数据库用户权限管理
    目录1、用户管理1.1、创建用户1.2、删除用户1.3、修改用户密码2、权限管理2.1、授予权限 grant2.2、取消权限 revoke2.3、刷新权限 flush3、密码丢失的解...
    99+
    2024-04-02
  • sql server 数据库的管理以及维护
       http://xiaorenwutest.blog.51cto.com         &...
    99+
    2024-04-02
  • Kylin是否支持数据安全和权限管理
    是的,Kylin支持数据安全和权限管理。Kylin提供了基于角色的访问控制(RBAC)机制,可以通过配置角色和权限来控制用户对数据的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作