SCPPO(二十三):SQLServer数据库备份那些事儿
【前言】
今天远程服务器,突然发现服务器一个盘(容量:1T)快满了,于是好奇点进去看看哪些东西占了这么多,经过排查后发现是SQLServer的备份文件,占据了绝大部分的空间;之前对SQLServer的备份也没有太多的关注,于是在解决这次盘容量慢的过程中,也有机会将SQLServer备份学习一下。
【有趣的事】
1、系统数据库的简单介绍:
(1)我们系统主要用到的库有三个(保密起见暂时用别名代替):数据库A,数据库B,数据库C
(2)设置的SQLServer备份策略:每天23:05进行备份;(参考:设置SQLServer数据库自动备份)
(3)各个数据库文件的相应大小:
①备份文件(.bak文件):数据库A—1.66M;数据库B—120M;数据库C—6.56G;
②数据库A—(mdf:50M,ldf:82.9M);数据库B—(mdf:2.07G,ldf:18.4G);数据库C—(mdf:42.8G,ldf:29.7G)。
2、解决盘容量的过程:
(1)意外的发现:当时发现盘的剩余容量不足10M根据数据库备份文件生成的时间发现,近几次,数据库B和数据库C都无备份文件;猜想:是由于空间不足导致两个大的数据库不进行备份。
(2)如何解决那?发现里面备份的文件从去年的4月份开始到现在每天都有,于是乎请示组长是否要删除一些,组长回答说把老的删除,不过删除这些月份中每个月留一个月底,以备以后有问题查;自己将没删除之前的库文件截图,然后将去年四月份的到今年五月份每个月只留一个月底的做备份。盘容量腾出200G的空间。
(3)在(1)中猜想的验证:等到第二天(原因:见1中(2)的备份策略)在此查看数据库ABC都正常备份。
3、正式数据库服务器上数据同步到测试服务器上
(1)既然说到数据库这块儿,之前自己一直有个疑问:正式数据库和测试服务器数据如何同步的,借此机会请教下组长。
(2)由于测试项目不需要数据与正式系统的数据一样是最新的,所以目前采用最简单的同步策略—手动。
(3)手动同步具体步骤:
①将正式服务器上的数据库的最新备份文件dbk拷贝到测试服务器上
②在测试服务器上进行还原
4、延伸学习
(1).dbk文件和mdf+ldf的有什么区别?
由于这块儿是微软不开源的技术,所以在网上查了些,又根据自己的经验说说自己的看法:
①用途:.dbk只能用来备份;而mdf+ldf是正在使用的也可当做备份;
②可以简单理解成.dbk是mdf+ldf的压缩版,通过1中(3)的对比,微软的压缩率还是蛮高的;
(2)根据三个库的大小特点发现mdf文件较大的是数据量比较大,而ldf文件大的是操作较多;比如:数据库C的数据新增的比较多,而更新操作则较少;而数据库B则是对数据的操作较多,而新增数据量较少;这和系统的应用也一一对应;
(3)请教一下老司机,可以利用数据库收缩来减少数据库所占空间,参考:数据库收缩详解;
(4)如果需要测试数据和正式数据实时同步怎么办那?参考:SQLServer数据库实时同步复制 实时同步对技术难度以及服务器的性能有所影响,大家还是要根据自己的实际项目需求来选择,做好相应的平衡即可。
【总结】
1、正规的团队中作为开发是没有权限直接远程服务器的,但是在一些小项目中,总共就几个人做维护,当然没有必要招一个专门的DBA;各自有各自的好处,在正规大团队中学到的技术比较深,但是面比较窄,而小团队中面比较广,但是深度没那么深,这也是选进大公司与小公司的一个重要衡量吧!如何选择?自身根据自身目前所处的实际情况所决定;
2、好奇心会引导我们发现很多有趣的东西;
3、发现在开发过程中有扯皮的现象,解决办法:职责划分明确,另外个人勇于承担责任,发现问题及时将问题提出来,然后去解决,将系统当成是自己的事情;这样会收获更多,技术上如此为人处世上亦如此。
SCPPO(二十三):SQLServer数据库备份那些事儿相关推荐
- SQLServer数据库备份的使用
SQLServer数据库备份的使用 方法一:使用SQL语句添加语句 1. 数据库备份 选择想要备份的数据库,"右键"→"任务"→"生成脚本" ...
- C# 实现SQLServer数据库备份示例
C# 实现SQLServer数据库备份示例: /// <summary> /// sqlserver备份 /// </summary> public class Sqlserv ...
- day9-Python学习笔记(二十)数据库备份,修改父类的方法
数据库备份,修改父类的方法 import os,datetimeclass BakDb(object): def __init__(self,ip,username,passwd,port=3306, ...
- 数据库:SQLServer数据库备份方式介绍
今天小编给大家梳理一下数据库备份的相关知识,希望对大家能有所帮助! 1.完整备份 完整备份相当于针对整个数据库备份,包含数据库的全部内容.数据库完整备份可以将数据库的所有内容备份为一个.Bak文件.后 ...
- 批处理(bat)实现SQLServer数据库备份与还原
--1.数据库备份脚本sqlserverbackup.sql -- SQLServer2000数据库系统清理用户数据库日志和备份用户数据库数据脚本 declare @dumpfile varchar( ...
- sqlserver数据库备份
差异备份_差异备份 差异备份_作业属性 事务备份_事务备份 事务备份_作业属性 完全备份_清除维护 完全备份_事务日志备份 完全备份_收缩数据库 完全备份_完全备份 完全备份_作业属性 转载于:htt ...
- sqlserver数据库备份成为sqlserver中的bak格式
1.在要备份的数据库上面进行右键=>任务=>备份 2.在打开的备份中先删除指定的后,然后在从新选择路径进行添加 3.点击... 进行从新选择路径 4.然后点击保存 5.保存提示: 这样就在 ...
- 动态备份SQL-SERVER数据库——SQLDMO
转载:http://www.cnblogs.com/liulanglang/archive/2007/12/04/981812.html 上周要写一个SQL-SERVER数据库备份还原的程序,很没有思 ...
- Veritas NetBackup备份系统管理维护实战(NBU培训+各种数据库备份恢复)
一.风哥Veritas NetBackup企业级备份系统建设与管理维护介绍 NBU介绍: Netbackup(简称NBU)是当今世界非常流行的一款数据备份软件,是全球排名NO.1的企业数据保护平台,8 ...
最新文章
- Linux无法启动(一)
- mutt msmtp
- html5判断text文本是数字,JavaScript常用判断写法大全
- 《大道至简》第一章伪代码
- vue 页面跳转404_Vue 项目棘手问题的解决方案
- 关于VS2005安装项目制作的三个参考文章链接
- ASP.NET 使用C#代码设置页面元素中的样式或属性
- linux socket版本 can,linux socket can程序cantool
- php7 电子书 下载,php7.3.8中文电子手册
- 国开电大 广告心理学 形考任务
- Phyton安装MySQL驱动
- php发出声音,电容也会发出声音!电容啸叫是怎么产生的?如何解决?
- 分治、CDQ分治小结(need to be updated)
- code:block17.12汉化
- 【3D打印机】3D打印小妙招之“缩短等待打印时间” :在打印开始时同时加热喷嘴和热床。
- 什么是soft wrap,什么是IDEA的soft wrap,如何设置IDEA默认所有类型的文件都自动换行(如何设置用IDEA打开markdown文件不自动换行)
- VMware Workstation 无法恢复错误: (vcpu-0) Exception 0xc0000005 (access violation) has occurred.
- Pandas | 数据融合与拼接(Merge Concat)
- input框聚焦时,提示文字上移
- Postman的下载和安装
热门文章
- 中兴恢复产能还需数周;前苹果工程师已获保释;iPhone再现爆炸门 | 极客头条...
- 开源不止,前进不息:2018 OpenInfra Days China 来了!
- 一位 90 后程序员的自述:如何从年薪 3W 到 30W
- 准备好跟机器人正面交锋了吗?
- 随机森林筛选特征Matlab,特征筛选(随机森林)
- oracle统计信息导出与导入目的,Oracle统计信息的导出与导入
- html5hover鼠标悬停,不使用hover外部CSS样式实现hover鼠标悬停改变样式
- linux探测i2c设备连接状态,手把手教你写Linux I2C设备驱动
- swiper监听滚动条_swiper Scrollbar滚动条组件详解
- c语言坐标绕路,C语言中的奇技淫巧