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

简介:
在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日志并进行多维度分析。
目录
相关文章
原生php实现大案例(特色:不登录不能使用功能 注册 登录 文件上传 发帖 列表页 详情页 )提供sql
原生php实现大案例(特色:不登录不能使用功能 注册 登录 文件上传 发帖 列表页 详情页 )提供sql
|
3月前
|
SQL Java 数据库连接
Mybatis之Mybatis的各种查询功能和特殊SQL的执行
【1月更文挑战第3天】 一、MyBatis的各种查询功能 1、查询一个实体类对象 2、查询一个List集合 3、查询单个数据 4、查询一条数据为map集合 5、查询多条数据为map集合 1、方法一 2、方法二 二、特殊SQL的执行 1、模糊查询 2、批量删除 3、动态设置表名 4、添加功能获取自增的主键
140 1
Mybatis之Mybatis的各种查询功能和特殊SQL的执行
|
3月前
|
SQL 流计算
Flink SQL提供了行转列的功能,可以通过使用`UNPIVOT`操作来实现
【1月更文挑战第1天】Flink SQL提供了行转列的功能,可以通过使用`UNPIVOT`操作来实现
115 0
|
4月前
|
SQL Java 关系型数据库
在IDEA中配置MySQL数据库连接以及在使用mybatis时设置sql语句的代码提示功能
在IDEA中配置MySQL数据库连接以及在使用mybatis时设置sql语句的代码提示功能
|
4月前
|
SQL 数据库
数据库原理—SQL数据定义功能(九)(2)
数据库原理—SQL数据定义功能(九)
|
4月前
|
SQL 数据库
数据库原理—SQL数据定义功能(九)(1)
数据库原理—SQL数据定义功能(九)
|
9月前
|
SQL 安全 JavaScript
SQL Server——自动化功能
不管是任何地方,数据备份都是很重要的一个环节,需要定时对数据库指定数据备份,为它设计一个备份的策略。但是如果指定某个人定时定点的进行备份这是很麻烦的,这时我们就可以使用SQL Server的自动化功能来完成备份操作。
|
11月前
|
SQL Java 数据库连接
MyBatis各种SQL操作及执行添加功能获取自增的主键
MyBatis各种SQL操作及执行添加功能获取自增的主键
114 0
|
11月前
|
SQL 索引
SQL四大功能及语法
SQL四大功能及语法
|
11月前
|
SQL Cloud Native 关系型数据库
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版功能演示(上)——五、执行SQL查询
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版功能演示(上)——五、执行SQL查询

热门文章

最新文章