Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[工具分享]备份SSAS模型TMSL脚本元数据工具,多给自己一点后悔药可吃。

[工具分享]备份SSAS模型TMSL脚本元数据工具,多给自己一点后悔药可吃。

作者头像
Excel催化剂
发布于 2023-04-26 07:23:48
发布于 2023-04-26 07:23:48
5060
举报
文章被收录于专栏:Excel催化剂Excel催化剂

笔者在2019年分享过自己写的一个小工具,用于备份Sqlserver数据库的元数据。近期在一个PowerBI项目中,发现很有必要也备份下SSAS分析模型的元数据,防止不小心服务器坏了或使用Tabular Editor连接数据库方式开发过程中,不小心覆盖了有用的信息,无法挽回,特别是存在多人开发的场景特别容易出状况。故再次开发了一个小工具,用于SSAS的数据库元数据备份

工具下载地址:https://easyshu.lanzoub.com/b00w39nzi 密码:2uup

SSAS元数据备份原理

使用过Tabular Editor开发的朋友们,想必也更深刻地理解PowerBI建模层的原理,其实就是一段json的字符串,用于定义整个模型的连接、关系、表、度量值、计算列等元数据,只要拿到这段json,就可以通过XMLA查询的方式,直接部署到Sqlserver的SSAS分析服务上。

而bim文件,就是存储这些json信息的文件,通过Tabular Editor直接读取bim文件,就可以把整个模型的信息读进Tabular Editor,然后经过它部署到SSAS服务器上。

所以对于BI项目来说,备份这个bim文件或json文件信息,比备份整个SSAS数据库来得更科学和方便快捷。

BackupTMSL小工具使用方式

整个工具是绿色软件,只需双击【BackupTMSL.exe】文件即可。瞬间就可以备份完成。

备份出来的文件,带上了时间戳,会自动删除30天前生成的文件。

在使用上,需要自行设置一下SSAS服务器连接信息和备份文件夹,建议在部署的服务器上运行此程序,因为若非域环境管理员的帐号,可能没有备份访问SSAS对象模型的权限。

在计划任务上,生成一个任务,定时运行此程序,就可以达到备份的效果,例如工作日时间,9点钟开始备份,每隔1小时备份一次,备份12个小时,基本可以达到防止误操作或模型损坏,丢失了SSAS的数据库元数据的目的。

以下为历史文章,备份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/上抄一下就好。

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

结语

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel催化剂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[工具分享]备份Sqlserver元数据工具,多给自己一点后悔药可吃。
因Sqlserver数据库是一款非常完善的商业数据库,微软给它打造了SSMS客户端管理,并配置了大量的命令让我们可以轻松管理它,当然备份整个数据库的元数据,也只需界面上一个操作即可完成。
Excel催化剂
2021/08/19
5010
[工具分享]备份Sqlserver元数据工具,多给自己一点后悔药可吃。
[PowerShell]人人都值得学一点PowerShell实现自动化(6)自动化微软系产品
在DOS命令和CMD命令中,都是一条命令执行一个过程,是面向过程的调用方式,而PowerShell之所以敢称作Power,就是其比一般地Shell不同之处是,其可以调用整个dotNET的类型库,可以用面向对象的方式去访问和执行复杂的对象模型如Sqlserver的SMO、AMO模型和各种COM模型如OFFICE对象模型等。
Excel催化剂
2021/08/19
1.9K0
[PowerShell]人人都值得学一点PowerShell实现自动化(6)自动化微软系产品
「PowerBI」丢弃SSDT选择TabularEditor成为你的首选建模开发工具(上)
在SSDT中开发SSAS数据模型,整体体验是非常棒的,继承了微软一贯的图形化界面操作的友好度,特别是对Excel和PowerBIDeskTop群体来说,无缝过渡到SSDT的操作。
Excel催化剂
2021/08/19
2.4K0
「PowerBI」丢弃SSDT选择TabularEditor成为你的首选建模开发工具(上)
「数据ETL」从数据民工到数据白领蜕变之旅(四)-有了PowerQuery还需要SSIS吗?
作为一款自助式BI的轻量ETL工具,PowerQuery的确可以让我们享受许多数据处理的便利,无需专业的能力,大部分仅需通过界面的操作即可完成,无可否认PowerQuery的使用体验是非常棒的。
Excel催化剂
2021/08/19
3.7K0
「数据ETL」从数据民工到数据白领蜕变之旅(四)-有了PowerQuery还需要SSIS吗?
「Azure」数据分析师有理由爱Azure之七-从零开始做一个完整的Azure AS项目部署
对于PowerBI爱好者群体,多数是玩Excel和PowerBIDesktop,没有上升到企业级BI的层次,对在企业级BI的SSAS上建模的工具比较陌生,这里简单给大家作一点点工具介绍。
Excel催化剂
2021/08/19
1.1K0
「Azure」数据分析师有理由爱Azure之七-从零开始做一个完整的Azure AS项目部署
全球首发,PBI催化剂更新,PowerBI参数字段表再爱多一点,批量创建,纯界面零代码,Excel数据源一键生成。
除此之外,另增加批量创建表关系功能,对同类事实表追加关系变得SoEasyShu,又是批量完成,爽到爆。
Excel催化剂
2023/04/26
2.2K0
全球首发,PBI催化剂更新,PowerBI参数字段表再爱多一点,批量创建,纯界面零代码,Excel数据源一键生成。
「Azure」数据分析师有理由爱Azure之五-Azure Analysis Services服务实操
在企业内推行数据化运营,较为可行的方式是启动企业BI项目,让零散的数据都进入到数据仓库中进行数据的清洗整合,最终数据仓库内的数据,按业务分析的需要进行语义转换,通过数据建模的技术将其重新构建成多维分析模型,输送给前端用户使用时,前端用户基本只需按自己的业务分析需求,进行简单的拖拉字段,即可完成自己所需的分析报表需求,并且仅查看到自身权限范围内的数据。
Excel催化剂
2021/08/19
1.5K0
「Azure」数据分析师有理由爱Azure之五-Azure Analysis Services服务实操
[PowerBI]中国首款重量级PowerBIDeskTop外部工具问世
过往的PowerBIDeskTop,它是一个独立的软件,不像Excel那样可以有二次开发的接口,但7月份更新PowerBIDeskTop后,已经开放了外部工具,单独有一个外部工具的选项卡。
Excel催化剂
2021/08/18
4.1K0
盘点一下数据库的误操作有哪些后悔药?
无论是开发、测试,还是DBA,都难免会涉及到数据库的操作,比如:创建某张表,添加某个字段、添加数据、更新数据、删除数据、查询数据等等。
苏三说技术
2021/03/30
7970
[PBI催化剂]国际水准,中国首款重量级PowerBIDeskTop外部工具问世
SQLBI的工具,有兴趣的可了解下,需要点英文阅读能力:https://www.sqlbi.com/tools/analyze-in-excel-for-power-bi-desktop/
Excel催化剂
2021/08/18
3.1K0
王者回归,PBI催化剂2.0发布,回归初心,个人永久性免费使用全部功能
PBI催化剂是笔者两年前开发的国内首款PowerBI外部工具,用于在PowerBI模型和报表层的元数据批量管理。
Excel催化剂
2022/09/02
4.8K0
王者回归,PBI催化剂2.0发布,回归初心,个人永久性免费使用全部功能
关于手机数据丢失,你知道哪些?
近年来,随着手机的不断更新换代,手机存储空间越来越大,用户储存的数据越来越多。有时候,你打开手机聊天软件想要寻找几个月前的文档和聊天记录,却发现已经被自己不小心清理掉。有时候手机不小心出现故障,也造成了数据丢失的惨案。
森罗万象
2019/04/30
1.4K0
关于手机数据丢失,你知道哪些?
「PowerBI」分析服务多维数据结构重回关系数据库的一大绝招
第3波-与PowerbiDesktop互通互联 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典
Excel催化剂
2021/08/19
2.1K0
「Sqlserver」数据分析师有理由爱Sqlserver-像使用Excel一般地使用Sqlserver
在微软系的产品系列中,大家都可以从网络上非常容易找寻得到,微软也是大放水,对盗版破解容忍度非常高。
Excel催化剂
2021/08/19
1.3K0
「Azure」数据分析师有理由爱Azure之十-使用PowerShell自动化AzureAS
前面推文中曾介绍过PowerShell的作用,并有提供了一个MicroSoft Learn的教程地址,现再次贴出:https://docs.microsoft.com/zh-cn/learn/modules/automate-azure-tasks-with-powershell/
Excel催化剂
2021/08/19
9300
「Azure」数据分析师有理由爱Azure之十-使用PowerShell自动化AzureAS
Linux也有后悔药,五种方案快速恢复你的系统
新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题。那么如何快速解决呢?本文就先给你一个后悔药,让你快速备份并恢复Linux系统。本文将以Ubuntu为例,在这之前,你需要一台服务器,你可以免费使用腾讯云开发者实验室进进行试验。
信姜缘
2018/07/19
2.9K0
「Sqlserver」数据分析师有理由爱Sqlserver之八-最刚需的数据导入导出功能-导出篇
和前一篇提及的,数据在各业务系统里的导出接口十分单一,大部分是一些Excel导出的功能。
Excel催化剂
2021/08/19
1.4K0
跨库数据备份还原、迁移工具
数据开发过程中,为了确保生产数据库安全,一般将实时数据同步、备份到本地测试数据库完成开发工作,最后部署应用。
用户8949263
2022/04/08
1K0
跨库数据备份还原、迁移工具
「Azure」数据分析师有理由爱Azure之三-对照Sqlserver学Azure
Sqlserver的内容非常广大,笔者也不是这方面的专家,所以整个系列的文章必须是在一个狭隘的小范围内讨论。
Excel催化剂
2021/08/19
1.4K0
「Azure」数据分析师有理由爱Azure之三-对照Sqlserver学Azure
[PowerShell]人人都值得学一点PowerShell实现自动化(2)有哪些可用的场景及方式?
虽然说PowerShell也是在dotNET体系内,凡是dotNET语言可以完成的,它也几乎可以同样完成,但完成的代价可能不一,有些部分可能没有使用其他语言如C#等语言来得方便好用。 同样地PowerShell作为一门定位于帮助运维人员实现日常工作自动化的脚本语言,很多方面有其独特的优势所在,虽然用其他语言、工具一样可以完成,但PowerShell完成得更漂亮,更方便快捷。
Excel催化剂
2021/08/20
2.1K0
[PowerShell]人人都值得学一点PowerShell实现自动化(2)有哪些可用的场景及方式?
推荐阅读
[工具分享]备份Sqlserver元数据工具,多给自己一点后悔药可吃。
5010
[PowerShell]人人都值得学一点PowerShell实现自动化(6)自动化微软系产品
1.9K0
「PowerBI」丢弃SSDT选择TabularEditor成为你的首选建模开发工具(上)
2.4K0
「数据ETL」从数据民工到数据白领蜕变之旅(四)-有了PowerQuery还需要SSIS吗?
3.7K0
「Azure」数据分析师有理由爱Azure之七-从零开始做一个完整的Azure AS项目部署
1.1K0
全球首发,PBI催化剂更新,PowerBI参数字段表再爱多一点,批量创建,纯界面零代码,Excel数据源一键生成。
2.2K0
「Azure」数据分析师有理由爱Azure之五-Azure Analysis Services服务实操
1.5K0
[PowerBI]中国首款重量级PowerBIDeskTop外部工具问世
4.1K0
盘点一下数据库的误操作有哪些后悔药?
7970
[PBI催化剂]国际水准,中国首款重量级PowerBIDeskTop外部工具问世
3.1K0
王者回归,PBI催化剂2.0发布,回归初心,个人永久性免费使用全部功能
4.8K0
关于手机数据丢失,你知道哪些?
1.4K0
「PowerBI」分析服务多维数据结构重回关系数据库的一大绝招
2.1K0
「Sqlserver」数据分析师有理由爱Sqlserver-像使用Excel一般地使用Sqlserver
1.3K0
「Azure」数据分析师有理由爱Azure之十-使用PowerShell自动化AzureAS
9300
Linux也有后悔药,五种方案快速恢复你的系统
2.9K0
「Sqlserver」数据分析师有理由爱Sqlserver之八-最刚需的数据导入导出功能-导出篇
1.4K0
跨库数据备份还原、迁移工具
1K0
「Azure」数据分析师有理由爱Azure之三-对照Sqlserver学Azure
1.4K0
[PowerShell]人人都值得学一点PowerShell实现自动化(2)有哪些可用的场景及方式?
2.1K0
相关推荐
[工具分享]备份Sqlserver元数据工具,多给自己一点后悔药可吃。
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档