傻大方


首页 > 人文 >

数据库|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 的备份、还原及数据日志收缩

文章图片

数据库|SQL Server 的备份、还原及数据日志收缩

文章图片


SQL Server 小知识
大家好 , 我还是那个欢乐逗逗猫 。 由于工作原因 , 我会接触到SQL Server , 会一些语句 。 接下来就给大家讲解一些小知识点吧 , 和大家一起进步 , 愿我们越来越好 。
下面的内容主要分为三个知识点 。

  • 数据库备份
  • 数据库还原
  • 收缩日志
  1. 数据库备份
众所周知 , 数据库是用来存储数据 , 并可以通过语句对一些数据进行分析 , 重要程度不言而喻 。 数据库备份也就成了不可缺少的环节 。 接下来给大家讲解三种数据库备份的方法 。
1.1利用SQL Server管理工具备份
选择数据库右键-任务-备份 , 具体如下图所示 。



然后在新弹出的“备份数据库”对话框中 , 选择要备份的数据库 , 选择备份类型 , 确定备份的文件路径后 , 点击确定 。



提示对数据库的备份已成功完成后 , 表示备份完毕 。



在备份文件路径下会生成文件 。



1.2语句压缩备份
打开SQL Server管理工具 , 点击工具栏的“新建查询”按钮 , 输入备份语句:
USE [master

go
BACKUP DATABASE  ceshi3  TO  DISK = 'D:\\ ceshi3_210203.bak'  WITH  COMPRESSION  go
注:再点击点击工具栏的 \"! 执行\" , 或者使用 F5 快捷方式 , 进行一次全备份
其中: ceshi3为要备份的数据库名称 , 可以根据需要修改
'D:\\ ceshi3_210203.bak'为备份文件名 , 应该根据需要修改
如下图所示:



当提示成功处理 。。。 时 , 表示语句运行结束 。



在备份文件路径下找到文件 , 从截图中不难看出 , 相同的数据库 , 利用管理工具的备份文件是3m左右 , 而利用语句进行压缩备份时 , 备份文件仅为几百KB 。



1.3利用代理进行自动定期备份
利用SQL Server代理功能定时压缩备份数据库的步骤
1新建作业
打开SQL SERVER代理 , 右键单击作业 , 选择新建作业(图1) 。

图1
2作业命名
在作业属性界面给新建的作业进行命名 , 如“数据库备份” 。 (图2)

图2
3作业步骤
在作业属性处单击“步骤”(下图标注1的位置) , 点击“新建”按钮 。 在新跳出的对话框中选择“常规”(下图标注2的位置) 。 在常规界面步骤名称可与作业名称同名 。 然后选择数据库 , 在下方的空白输入框中写入SQL语句((下图标注3的位置)) 。 完成后点击此对话框的确定按钮即可分页标题#e#
(图3) 。

图3
备注:SQL语句:
USE [master

go
declare @day varchar(50)
set @day='D:\\scada'+cast(cast(getdate() as date) as varchar(50))+'.bak'
BACKUP DATABASE scada  TO  DISK = @day  WITH  COMPRESSION
Go
备注:
declare:定义变量 , 并说明数据类型
getdate():用于获取时间
Cast:数据类型转换 , 例:cast (getdate() as date)
4作业时间
在作业属性对话框选择计划 , 单击“新建”按钮 。 在新弹出的对话框中命名计划名称 。 然后选择计划类型(如重复执行)、频率(如每天 , 间隔1天)、每天频率(如执行一次在每天的15:20)、持续时间(如开始时间2018-11-16 , 无结束时间) 。 完成后点击“确定”按钮(图4) 。

图4
5新建完成
作业名称、作业步骤、作业计划设置完成后 , 在作业属性界面点击“确定”按钮即可(图5) 。

图5
6作业启动及验证
右键已经完成新建的作业名称(如右键数据库备份) , 选择启用 。 弹出图6 , 表明作业启用 。 然后继续右键已经完成新建的作业名称 , 选择作业开始步骤 。 弹出图7 , 验证作业结果 。 如数据库备份作业中 , 备份文件最终存到了D盘 ,, 完成作业步骤后 , 即可到D盘验证 。 并找备用机进行数据库恢复测试(图8)

图6

图7

图8

图9
至此 , 利用代理定时备份数据库的操作完成 。
  1. 数据库还原
1、在另一台服务器的SQL server中新建与压缩文件同名的数据库 。 右键“数据库”点击“新建数据库” , 输入数据库名称 , 设置增量最大值 。 完成后点击确定 。 如图所示 。

2、右键“scada”数据库 , 选择“任务”—“还原”-“数据库” 。 在新弹出的对话框中 , 在“还原的源”模块 选中“原设备” , 点击“ 。。。 ” 。 在新弹出的“指定备份”对话框中 , 点击“添加” 。 找到压缩数据库备份文件的路径 。 点击确定 。 接着在“指定备份”对话框点击确定 。 如下两图所示 。


3、在“常规”功能块的“选择用于还原的备份集”模块 , 勾选 。 图如所示 。

4、在“选项”功能块先勾选“覆盖现有数据库” , 然后为文件名为行数据的路径进行修改(如图中2所示 , 路径可自己创建) 。 点击确定 。

5、完成后 , 点击确定 , 查看数据库即可 。

至此 , 数据库的还原完毕 。 可以使用 。
  1. 收缩日志
当数据库越来越大时 , 日志也会随之增加 , 备份的时间就会随之增加 , 为了可以充分利用数据库空间 , 我们可以定期压缩数据库日志 。 操作如下:
打开SQL Server管理工具 , 点击工具栏的“新建查询”按钮 , 输入压缩日志的语句:
USE[master

GO
ALTER DATABASE ceshi3 SET RECOVERY SIMPLE WITH NO_WAIT --简单模式
GO
USE ceshi3
GO
DBCC SHRINKFILE (N'ceshi3_log'0 TRUNCATEONLY)
GO
USE[master

GO
ALTER DATABASE ceshi3 SET RECOVERY FULL WITH NO_WAIT --还原为完全模式
GO

执行完毕后 , 数据库日志将会缩小至几百K 。

注:当数据库有大量的数据数要清空数据时 , 不建议使用delete语句 , 因为这样会产生大量的日志 , 严重影响数据库的使用 。 此时为了不产生日志 , 我们应该使用语句:
TRUNCATE TABLE tablename 。
无论多大的表 , 1秒钟就搞定 , 不产生日志 。
PS:简单说一下delete\\drop\\ TRUNCATE的区别
相同点:都可以删除数据 。
不同点:
  • Drop:直接删除表;delete删除表中数据 , 可以用where;TRUNCATE清空表数据 。
  • TRUNCATE TABLE 不记录日志 。 Delete记录日志 。
  • delete删除数据后 , 可以回滚;drop和TRUNCATE删除数据后不可回滚 。
  • drop会改变表结构;delete和TRUNCATE不会改变表结构 。
  • 速度:一般来说:drop > truncate > delete
好了 , 今天的讲解就到这里吧 , 有兴趣的小伙伴可以自己尝试一下 。 毕竟用数据库语句可以快捷方便的解决很多事情 , 可以提高自己的工作效率 。
PS:今年的集五福开始了 , 你们集齐了吗?我扫了三台 , 还是只有友善福和和谐福 。 不开心 。


    来源:(欢乐逗逗猫)

    【】网址:/a/2021/0203/kd675744.html

    标题:数据库|SQL Server 的备份、还原及数据日志收缩


    上一篇:支付宝|支付宝集福活动敬业万能沾沾福全部攻略都有

    下一篇:激光|帝尔激光跌7.6% 两股东拟减持合计不超过670万股


    人文

    规定|英 国:拟调整社交距离规定

    阅读(32)

    这项规定预计从7月4日起施行,适用于办公室、学校、酒吧等各种场所。英国数字化、文化、媒体与体育大臣奥利弗·道登19日晚接受英国广播公司采访时说:“我们已承诺重新评估从2米调整至1米的规定,今后数日会有结论。”路透社报道,英国不少酒店与休闲行业从业...