BI-SQL丨SNAPSHOT

在这里插入图片描述

快照(SNAPSHOT)

我们在做BI项目的过程,一旦数据涉及到数据库,那么需要考量到的点就比较多。

1.如果数仓是在项目过程中搭建的,那么需要考虑高可用、灾备机制以及安全性问题;

2.如果我们只是需要连接数据库,那么需要考虑账号权限问题以及历史信息是否完整。

快照(Snapshot),是SQL Server中比较重要的一个功能,也是PowerBI欠缺的功能。

简单来说,快照就是在数据库中进行截图,保留数据库在截图时的数据状态,以备有突发灾备情况进行数据恢复。

创建快照语法

CREATE DATABASE Snapshotname ON  --快照名称
(
   Name =DataBaseName ,  --源数据库名称
   FileName = 'C:\xx\xx'  --快照文件地址
)
AS SNAPSHOT OF DataBaseName;  --源数据库名称

使用实例

案例数据:

在这里插入图片描述

在白茶本机的数据库中,存在名为“BaiCha”的数据库,存在名为“ODS_BaiCha”和“STG_BaiCha”的两张表。

例子1:为数据库BaiCha创建快照。

CREATE DATABASE BaiCha_Shot ON
(
   Name = BaiCha,
   FileName = 'C:\SQL Server\BaiCha_Shot.ss'
)
AS SNAPSHOT OF BaiCha;

结果如下:

在这里插入图片描述
在这里插入图片描述

例子2:清除数据库BaiCha中的数据,使用快照进行数据恢复。

我们先对数据库BaiCha中的数据进行清空。

USE BaiCha
TRUNCATE TABLE ODS_BaiCha
TRUNCATE TABLE STG_BaiCha
SELECT *
FROM ODS_BaiCha
SELECT *
FROM STG_BaiCha

结果如下:

在这里插入图片描述

恢复代码语法:

RESTORE DATABASE DB_NAME  --恢复的数据库名称
FROM DATABASE_SNAPSHOT = 'DB_SNAPSHOT_NAME'  --需要使用的快照

输入如下代码:

USE master
RESTORE DATABASE BaiCha
FROM DATABASE_SNAPSHOT = 'BaiCha_Shot'

结果如下:

在这里插入图片描述
在这里插入图片描述

可以看到,数据库BaiCha已经恢复到快照的状态。

例子3:对快照进行删除。

快照的删除语法和删除DataBase的语法是一样的。

DROP DATABASE BaiCha_Shot

在这里插入图片描述

注意事项:

1.快照是只读的,一旦创建无法修改;

2.执行快照还原操作时,无法针对某张表进行还原,针对的是数据库整体;

3.快照一般与JOB搭配使用,进行数据备份。

项目应用:

1.维护历史数据,例如,汇率我们需要进行所有版本的留存;

2.对数据进行备份,防止某些失误造成的数据丢失。

在这里插入图片描述
在这里插入图片描述

这里是白茶,一个PowerBI的初学者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fabric丨白茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值