文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SQL Server的权限设置以及数据备份还原

2024-04-02 19:55

关注

简介

SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。

Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

一、SQL Server权限设置

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

1、SQL Server的安全机制

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

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的权限设置以及数据备份还原

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯