SQL Server权限管理和数据恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server权限管理和数据恢复相关的知识,希望对你有一定的参考价值。

SQL Server的身份验证方式有两种:
Windows身份验证:使用Windows身份验证时,SQL Server会使用操作系统中的Windows用户密码,进行验证。
这种验证模式适用于局域网内部,访问数据库时。这种方式安全、登录速度快。
SQL Server和Windows 身份验证模式:也称为混合验证模式。允许用户使用Windows身份验证或者使用SQL Server身份验证进行连接。该模式通常用于运行非Windows系统环境的用户、Internet用户或混杂的工作组用户访问SQL Server时。该模式安全性较低一些。
sa是SQL Server的默认管理员账号,由于该账号广为人知,容易成为恶意用户的***目标,因此除非某些程序要求必须使用sa账号,否则建议禁用此账号。绝对不能将sa账号设置为空密码或弱密码,建议创建一个拥有与sa账户权限相同的超级用户来管理数据库。但是不能让拥有管理员权限的账号泛滥。
SQL Server中的访问许可可以从服务器、数据库及对象三个级别进行设置。
服务器级别的权限设置的参数:
技术图片
SQL Server2016中的“角色”类似于Windows中的“组”。
SQL Server中还有一个特殊的服务器角色public,所有登录名都属于该角色。该角色是服务器中权限最低的角色,只能查看。
为用户分配服务器级别权限的具体步骤:SQL Server实例→安全性→登录名,右击某个登录名,选择“属性”即可。
服务器角色主要控制服务器登录名在服务器范围内的访问。
数据库级别权限设置的参数:
技术图片
创建数据库用户的步骤:某个数据库→安全性→用户,右击用户选择“新建用户”。
实际上,数据库用户是映射到登录账号上的。
任何创建的数据库中都包含两个特殊的数据库用户:dbo和guest。
dbo是数据库的所有者,对数据库具有所有的权限;
guest是来宾账号,不可删除、不映射任何登录账号。默认没有任何权限,而且是禁用的。
数据库角色用来赋予用户操作数据库的权限,如查询、备份和还原。
默认数据库还包含有一个名为public的角色,该角色用来捕捉数据库用户的所有默认权限,所有用户都属于public,该角色同样不可以被删除。
为用户设置数据库级别权限的步骤:SQL Server实例→安全性→登录名,右击登录账号,选择”属性”,打开的登录属性中选择“用户映射”。
对象级别权限设置:
技术图片
一个数据库通常包含多个表、视图、存储过程等对象。如果赋予某个用户对该数据库的读取权限,用户可以读取该数据库下的所有表或视图等。
拒绝权限最高
为什么要备份?
程序错误、人为错误、计算机失败(系统崩溃)、磁盘失败、灾难和盗窃等。
DBA警示录:备份高于一切
备份的类型有:
完整备份:包括对整个数据库、部分事务日志、数据库结构和文件结构的备份。完整备份是备份的基础,提供了任何其他备份的基准;
差异备份:是指对上一次完整备份之后所有更改的数据进行备份,优势是速度快、时间短;
事务日志备份:备份上一次事务日志备份之后发生变化的数据。备份的主要是T-SQL语句,而不是整个数据库结构等。
恢复模式的类型:
简单恢复模式:不保留事务日志,定期删除事务日志。概括了事务日志的保存程度、数据可以恢复的程度。
由于不支持事务日志备份,数据库只能恢复到备份的时间点,而无法将数据库还原到故障点或特定的时间点。因此,简单恢复模式主要用于小型数据库和不经常更改的数据库。
完整恢复模式:完整的保留事务日志,可以进行事务日志备份,可以最大范围的防止出现故障后丢失的数据,可以将数据库恢复到任意一个指定的时间点。
一般用于银行、电信系统等比较重要的场所。
大容量日志恢复模式:需要对数据库执行大批量的数据插入、删除或更新等操作时,如果使用完整恢复模式,将会产生大量的事务日志,导致数据库性能很低,这种情况就可以使用大容量日志恢复模式来提高性能。
在执行大容量操作时,对其进行最小记录,只要日志备份包含大容量操作,数据库就只能恢复到日志备份的结尾,而不能恢复懂啊某个时间点或日志备份中某个标记的事务。
自动备份过程:
启动SQL Server代理事务;利用维护计划,来配置计划备份。
故障点还原:
做一个尾部日志备份,再进行事务日志备份还原;还原时选择故障之前即可。
由于很简单就不截图示范了。

以上是关于SQL Server权限管理和数据恢复的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server权限管理和数据恢复

Security7:管理SQL Server Agent的权限

SQL Server 权限管理

SQL Server 数据库的安全管理(登录角色权限)

如何找到对 SQL Server Express 具有系统管理员访问权限的 Windows 用户和组?

SQL Server遗失管理权限账号密码怎么办?