【前言】

今天远程服务器,突然发现服务器一个盘(容量: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数据库备份那些事儿相关推荐

  1. SQLServer数据库备份的使用

    SQLServer数据库备份的使用 方法一:使用SQL语句添加语句 1. 数据库备份 选择想要备份的数据库,"右键"→"任务"→"生成脚本" ...

  2. C# 实现SQLServer数据库备份示例

    C# 实现SQLServer数据库备份示例: /// <summary> /// sqlserver备份 /// </summary> public class Sqlserv ...

  3. day9-Python学习笔记(二十)数据库备份,修改父类的方法

    数据库备份,修改父类的方法 import os,datetimeclass BakDb(object): def __init__(self,ip,username,passwd,port=3306, ...

  4. 数据库:SQLServer数据库备份方式介绍

    今天小编给大家梳理一下数据库备份的相关知识,希望对大家能有所帮助! 1.完整备份 完整备份相当于针对整个数据库备份,包含数据库的全部内容.数据库完整备份可以将数据库的所有内容备份为一个.Bak文件.后 ...

  5. 批处理(bat)实现SQLServer数据库备份与还原

    --1.数据库备份脚本sqlserverbackup.sql -- SQLServer2000数据库系统清理用户数据库日志和备份用户数据库数据脚本 declare @dumpfile varchar( ...

  6. sqlserver数据库备份

    差异备份_差异备份 差异备份_作业属性 事务备份_事务备份 事务备份_作业属性 完全备份_清除维护 完全备份_事务日志备份 完全备份_收缩数据库 完全备份_完全备份 完全备份_作业属性 转载于:htt ...

  7. sqlserver数据库备份成为sqlserver中的bak格式

    1.在要备份的数据库上面进行右键=>任务=>备份 2.在打开的备份中先删除指定的后,然后在从新选择路径进行添加 3.点击... 进行从新选择路径 4.然后点击保存 5.保存提示: 这样就在 ...

  8. 动态备份SQL-SERVER数据库——SQLDMO

    转载:http://www.cnblogs.com/liulanglang/archive/2007/12/04/981812.html 上周要写一个SQL-SERVER数据库备份还原的程序,很没有思 ...

  9. Veritas NetBackup备份系统管理维护实战(NBU培训+各种数据库备份恢复)

    一.风哥Veritas NetBackup企业级备份系统建设与管理维护介绍 NBU介绍: Netbackup(简称NBU)是当今世界非常流行的一款数据备份软件,是全球排名NO.1的企业数据保护平台,8 ...

最新文章

  1. Linux无法启动(一)
  2. mutt msmtp
  3. html5判断text文本是数字,JavaScript常用判断写法大全
  4. 《大道至简》第一章伪代码
  5. vue 页面跳转404_Vue 项目棘手问题的解决方案
  6. 关于VS2005安装项目制作的三个参考文章链接
  7. ASP.NET 使用C#代码设置页面元素中的样式或属性
  8. linux socket版本 can,linux socket can程序cantool
  9. php7 电子书 下载,php7.3.8中文电子手册
  10. 国开电大 广告心理学 形考任务
  11. Phyton安装MySQL驱动
  12. php发出声音,电容也会发出声音!电容啸叫是怎么产生的?如何解决?
  13. 分治、CDQ分治小结(need to be updated)
  14. code:block17.12汉化
  15. 【3D打印机】3D打印小妙招之“缩短等待打印时间” :在打印开始时同时加热喷嘴和热床。
  16. 什么是soft wrap,什么是IDEA的soft wrap,如何设置IDEA默认所有类型的文件都自动换行(如何设置用IDEA打开markdown文件不自动换行)
  17. VMware Workstation 无法恢复错误: (vcpu-0) Exception 0xc0000005 (access violation) has occurred.
  18. Pandas | 数据融合与拼接(Merge Concat)
  19. input框聚焦时,提示文字上移
  20. Postman的下载和安装

热门文章

  1. 中兴恢复产能还需数周;前苹果工程师已获保释;iPhone再现爆炸门 | 极客头条...
  2. 开源不止,前进不息:2018 OpenInfra Days China 来了!
  3. 一位 90 后程序员的自述:如何从年薪 3W 到 30W
  4. 准备好跟机器人正面交锋了吗?
  5. 随机森林筛选特征Matlab,特征筛选(随机森林)
  6. oracle统计信息导出与导入目的,Oracle统计信息的导出与导入
  7. html5hover鼠标悬停,不使用hover外部CSS样式实现hover鼠标悬停改变样式
  8. linux探测i2c设备连接状态,手把手教你写Linux I2C设备驱动
  9. swiper监听滚动条_swiper Scrollbar滚动条组件详解
  10. c语言坐标绕路,C语言中的奇技淫巧