隔墙有耳之SQL2005新增功能及数据存储的安全

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
在SQL2005中新增了一些SQL2000没有的功能,这些新增的功能可以使我们的SQL server服务器的数据更加的安全。
在2005中新增了架构,架构的特点:
1、 与用户管理没有从属关系
2、 创建用户的时候可以直接指定默认架构
3、 不知定默认属于dbo(权限最大)
4、 如果存在架构名.对象名,访问对象时在制定架构中找如果没有则查找dbo
那架构有什么用呢?
比如有好多用户的权限是相同的可以直接加入同一个架构中不用再挨个分配权限。
我们来创建一个用户直接为这个用户指定架构,如图:
clip_image002
我们以hlj用户登陆
clip_image004
登陆上去了,查看没有问题,看看插入怎么样。
是不让插入的因为权限不够,如果想插入那么就给这个架构更高的权限吧。
clip_image006
角色的作用相当于windows中的组权限相同用户的集合。
角色分为三种:1、服务器角色
2、数据库角色
3、用户自定义数据库角色
这个比较简单如图:
clip_image008
下面我们来看数据库存储的安全性。
包括:硬件设备,比较好的是光纤通道存储中枢,但是比较贵。
备份的方式(主要包括:完全备份、差异备份、事务日志备份)
恢复方式:1、完全模式(full,备份所有日志)
2、大容量日志(bulk_logged,大量日志不能备份)
3、简单模式(simple,所有日志都不保存,不支持即时还原)
恢复方式是制约备份方法的,完全模式可以进行完全/差异以及事务日志备份,而下面两种不能完全支持这几种备份方法。
查看数据库的恢复模式是:
select * from sys.databases
clip_image010
Db1这个数据库的恢复模式是full我们来修改为简单simple
命令为select * from sys.databases
clip_image012
在备份的时候我们可以备份到一个备份设备或备份到一个文件。
先来创建一个备份设备, 在C盘建一个名为bak的文件夹
sp_addumpdevice ‘disk’,’db1bak’,’c:\bak\db1bak.bak’
例:对db1进行完全备份,备份到备份设备中
backup database db1 to db1bak
clip_image014
我们来删除db1这个库,然后再来回复这个库
drop database db1
restore database db1 from db1bak
clip_image016
我们来插入一条记录,然后再做一下差异备份命令如下,
clip_image018
利用命令来查看一下备份方式,1(完全备份)、5(差异备份)、2(事务日志备份)
clip_image020
好了,开始删除db1这个数据库并还原这个数据库
在还原的时候我们必须得先还原第一次备份的,然后再还原第二次备份的才可以哦,如图:
restore database db1 from db1bak with file=1,norecovery(未封口)
restore database db1 from db1bak with file=2,recovery(封口)
clip_image022
还原好了看我们刚才插入的那条记录是否存在呢?
没有问题是存在的,事务日志的备份与这两种类似,我们就不举例了。
clip_image024
我们这都是备份我们自己创建的数据库,那系统的数据库是不是也和这一样呢?答案是否,接下来如果把系统数据库master删除了,看怎么恢复啊。
大致步骤是:
1、 备份master数据库
2、 删除master数据库
3、 生成临时master(需要安装光盘)
4、 用单用户进入SQL中
5、 正常启用SQL
先来第一步备份master,这步与刚才备份的一样。
clip_image026
但是删除就与刚才的有点区别了,用命令是不让删除的,因为它是系统库。
clip_image028
要删除系统数据库我们必须先把此服务给停止了,利用什么方法都行。
clip_image030
停止了服务以后我们找到存放数据库的目录在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data,然后找到master数据库的有关文件点击右键删除
clip_image032
生成临时master,放进安装光盘
在dos中输入
D:\> start /wait d:\setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 sapwd=Ccjsj1200 (密码)
在这步我们在上面那个目录中看到我们删除的master数据库又会来了,这就对了。我们就可以下一步了。
clip_image034
进入单用户模式后,我们来启用SSMS,进入后断开连接——新建查询——进行还原
clip_image036
还原成功后看看是否能用
clip_image038
能用一切正常,还原成功!!!
下篇我将介绍数据在传输中的安全!!!!敬请期待!!!!









本文转自 liuyonglei 51CTO博客,原文链接:http://blog.51cto.com/liuyonglei/167162,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
8天前
|
SQL 运维 程序员
一个功能丰富的SQL审核查询平台
一个功能丰富的SQL审核查询平台
|
19天前
|
SQL 监控 安全
SQL Server的安全注意事项
将上述注意事项纳入日常的数据库管理中,有助于确保SQL Server数据库的安全稳定运行。除了遵循这些最佳实践外,定期进行安全审计也是确保环境持续安全的关键。
18 7
|
25天前
|
SQL 流计算
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
15 1
|
25天前
|
SQL 存储 OLAP
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
26 1
|
15天前
|
SQL 数据处理 数据库
SQL正则表达式应用:文本数据处理的强大工具——深入探讨数据验证、模式搜索、字符替换等核心功能及性能优化和兼容性问题
【8月更文挑战第31天】SQL正则表达式是数据库管理和应用开发中处理文本数据的强大工具,支持数据验证、模式搜索和字符替换等功能。本文通过问答形式介绍了其基本概念、使用方法及注意事项,帮助读者掌握这一重要技能,提升文本数据处理效率。尽管功能强大,但在不同数据库系统中可能存在兼容性问题,需谨慎使用以优化性能。
25 0
|
15天前
|
SQL 存储 NoSQL
从SQL到NoSQL:理解不同数据库类型的选择与应用——深入比较数据模型、扩展性、查询语言、一致性和适用场景,为数据存储提供全面决策指南
【8月更文挑战第31天】在信息技术飞速发展的今天,数据库的选择至关重要。传统的SQL数据库因其稳定的事务性和强大的查询能力被广泛应用,而NoSQL数据库则凭借其灵活性和水平扩展性受到关注。本文对比了两种数据库类型的特点,帮助开发者根据应用场景做出合理选择。SQL数据库遵循关系模型,适合处理结构化数据和复杂查询;NoSQL数据库支持多种数据模型,适用于非结构化或半结构化数据。SQL数据库在一致性方面表现优异,但扩展性较差;NoSQL数据库则设计之初便考虑了水平扩展性。SQL使用成熟的SQL语言,NoSQL的查询语言更为灵活。
26 0
|
2月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
2月前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【7月更文挑战第25天】在Python Web开发中确保应用安全至关重要。以下是针对SQL注入、XSS与CSRF攻击的防护策略及示例代码
58 6
|
2月前
|
SQL 安全 数据库