[工具分享]Sqlserver数据库元数据备份程序

数据库备份听得多了,元数据备份可能较少听说,但对于数据分析来说,创建数据仓库,商业智能项目的数据源引用等,产生大量的数据库表、视图、存储过程等关键信息,这些元数据未经备份,不小心覆盖了,损失可大,很有必要对其进行备份。本篇介绍的备份方式,乃是使用dotNET自己写的一个小工具,比较简陋,有总比没有好,真正出问题时可以帮助我们挽回不少的损失。

备份原理分享

因Sqlserver数据库是一款非常完善的商业数据库,微软给它打造了SSMS客户端管理,并配置了大量的命令让我们可以轻松管理它,当然备份整个数据库的元数据,也只需界面上一个操作即可完成。

具体的操作为【生成脚本】这个命令完成。

微软一贯的作风,复杂事情简单化,让门槛足够低,你看,就是简单下一步就完事了。

备份完的这些sql语句,随时可以还原到新的数据库上,当然我们更多的是使用在某个视图、存储过程不小心改错了,重新回来找后悔药吃,看回之前写的版本。

当然如果有高手可以直接在Sqlserver上找回某个对象的过往版本,欢迎留言告之一下,让笔者也学习下。

让界面化的操作自动化起来

因为以上的操作是界面操作,总不能要求自己每天都这样操作一轮吧,然后也用不着用那些所谓的先进的RPA玩意来搞一遍。

因微软对其自身的产品是开放了API接口调用的,类似Excel里的VBA一样,可以调用这些产品的各个功能,实现自动化。

当然,Sqlserver的功能调用,使用的是SMO对象模型,也不是所有语言都支持调用,只有亲儿子dotNET语言才可以。

笔者使用dotNET简单几句代码,给大家做好了工具,直接拿去用就行了。

工具使用的是Console命令行工具的方式开发,所以使用时,可以在Sqlserver的作业上调用一下,因为是生成文件的操作,好像是有些权限限制的问题,所以最好使用计划任务的方式来调用。

工具配置

下载工具后,解压到某个文件夹里,然后程序里有个配置文件,可以根据实际情况修改下。

  • BackDbNames:备份的数据名称
  • BackupDir:备份的文件夹路径
  • DaysBeforeToDelete:备份文件存放多久,过了这个天数自动帮忙删除它。
  • SqlserverConnectString:如果是远程服务器,就抄一段连接字符串过来,如果是本机的数据库,就默认就可以,当然实例名不是默认的也要改,反正就是SqlServer的连接字符串,自己到http://www.connectionstrings.com/上抄一下就好。

作好这些配置后,就可以测试下是否生成成功,生成没问题,就用计划任务每天跑一下,万一不小心改错了,最多也就丢掉一天的活,比重头开始划算得多了。

**工具下载,同样放到Excel催化剂公众号上,回复:插件下载,即可获得下载链接。之前已经获取过链接的,可以保存到自己网盘里,网盘文件夹会同

结语

正如笔者过往写的文章里提到数据分析师最该使用的数据库是Sqlserver一样,许多的数据库复杂的操作,微软已经帮我们做好,作为分析师类的职能,没必要自己傻折腾IT领域的东西太多,一个自动化工具,自己有能力学习点编程技术,就可以几句代码调用接口做出来,完全没必要跟着潮流来选择MySQL之类的所谓热门数据库。

同样地,对于我们备份数据的环节,不是生产数据库,分析数据型使用的数据仓库,也不用太紧张数据层面的丢失,反而对经常变化的元数据如视图、存储过程等的变化多一份备份更管用。

希望本篇所讨论和分享的工具,对大家可以有所帮助,为大家备上一份后悔药。

猜你喜欢

转载自www.cnblogs.com/ExcelCuiHuaJi/p/11979840.html