[工具分享]備份SSAS模型TMSL腳本元數據工具,多給自己一點后悔藥可吃。

筆者在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服務器上。

39816d8cb94a21c398f64a7787b89689.png

所以對于BI項目來說,備份這個bim文件或json文件信息,比備份整個SSAS數據庫來得更科學和方便快捷。

BackupTMSL小工具使用方式

整個工具是綠色軟件,只需雙擊【BackupTMSL.exe】文件即可。瞬間就可以備份完成。

d854656966dd941f181dc05ec802140e.png

備份出來的文件,帶上了時間戳,會自動刪除30天前生成的文件。

76541ce69394d4fe459541b3dbf2a91b.png

在使用上,需要自行設置一下SSAS服務器連接信息和備份文件夾,建議在部署的服務器上運行此程序,因為若非域環境管理員的帳號,可能沒有備份訪問SSAS對象模型的權限。

在計劃任務上,生成一個任務,定時運行此程序,就可以達到備份的效果,例如工作日時間,9點鐘開始備份,每隔1小時備份一次,備份12個小時,基本可以達到防止誤操作或模型損壞,丟失了SSAS的數據庫元數據的目的。

6a90f6cb477736b6cce9e72916d6f34c.png

以下為歷史文章,備份Sqlserver元數據程序分享。

數據庫備份聽得多了,元數據備份可能較少聽說,但對于數據分析來說,創建數據倉庫,商業智能項目的數據源引用等,產生大量的數據庫表、視圖、存儲過程等關鍵信息,這些元數據未經備份,不小心覆蓋了,損失可大,很有必要對其進行備份。本篇介紹的備份方式,乃是使用dotNET自己寫的一個小工具,比較簡陋,有總比沒有好,真正出問題時可以幫助我們挽回不少的損失。

備份原理分享

因Sqlserver數據庫是一款非常完善的商業數據庫,微軟給它打造了SSMS客戶端管理,并配置了大量的命令讓我們可以輕松管理它,當然備份整個數據庫的元數據,也只需界面上一個操作即可完成。

具體的操作為【生成腳本】這個命令完成。

0563821430d22e4c304e4c290b965728.jpeg

微軟一貫的作風,復雜事情簡單化,讓門檻足夠低,你看,就是簡單下一步就完事了。

3f7cb171c03927bc10bb77615f80da7c.jpeg

備份完的這些sql語句,隨時可以還原到新的數據庫上,當然我們更多的是使用在某個視圖、存儲過程不小心改錯了,重新回來找后悔藥吃,看回之前寫的版本。

當然如果有高手可以直接在Sqlserver上找回某個對象的過往版本,歡迎留言告之一下,讓筆者也學習下。

ca46c59765ee1cd436f54ce5f80249a8.jpeg

讓界面化的操作自動化起來

因為以上的操作是界面操作,總不能要求自己每天都這樣操作一輪吧,然后也用不著用那些所謂的先進的RPA玩意來搞一遍。

因微軟對其自身的產品是開放了API接口調用的,類似Excel里的VBA一樣,可以調用這些產品的各個功能,實現自動化。

當然,Sqlserver的功能調用,使用的是SMO對象模型,也不是所有語言都支持調用,只有親兒子dotNET語言才可以。

筆者使用dotNET簡單幾句代碼,給大家做好了工具,直接拿去用就行了。

工具使用的是Console命令行工具的方式開發,所以使用時,可以在Sqlserver的作業上調用一下,因為是生成文件的操作,好像是有些權限限制的問題,所以最好使用計劃任務的方式來調用。

工具配置

下載工具后,解壓到某個文件夾里,然后程序里有個配置文件,可以根據實際情況修改下。

  • BackDbNames:備份的數據名稱

  • BackupDir:備份的文件夾路徑

  • DaysBeforeToDelete:備份文件存放多久,過了這個天數自動幫忙刪除它。

  • SqlserverConnectString:如果是遠程服務器,就抄一段連接字符串過來,如果是本機的數據庫,就默認就可以,當然實例名不是默認的也要改,反正就是SqlServer的連接字符串,自己到http://www.connectionstrings.com/上抄一下就好。

a865e63d4478b65dec5eb55a7cb31988.jpeg

作好這些配置后,就可以測試下是否生成成功,生成沒問題,就用計劃任務每天跑一下,萬一不小心改錯了,最多也就丟掉一天的活,比重頭開始劃算得多了。

結語

正如筆者過往寫的文章里提到數據分析師最該使用的數據庫是Sqlserver一樣,許多的數據庫復雜的操作,微軟已經幫我們做好,作為分析師類的職能,沒必要自己傻折騰IT領域的東西太多,一個自動化工具,自己有能力學習點編程技術,就可以幾句代碼調用接口做出來,完全沒必要跟著潮流來選擇MySQL之類的所謂熱門數據庫。

同樣地,對于我們備份數據的環節,不是生產數據庫,分析數據型使用的數據倉庫,也不用太緊張數據層面的丟失,反而對經常變化的元數據如視圖、存儲過程等的變化多一份備份更管用。

希望本篇所討論和分享的工具,對大家可以有所幫助,為大家備上一份后悔藥。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282720.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282720.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282720.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UVA - 11181 數學

UVA - 11181 題意: n個人去買東西,其中第i個人買東西的概率是p[i],最后只有r個人買了東西,求每個人實際買了東西的概率 代碼: //在r個人買東西的概率下每個人買了東西的概率,這是條件概率,因為最多20個人可…

js時間戳轉成日期格式

//第一種2 function getLocalTime(nS) { 3 return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/, ); 4 } 5 alert(getLocalTime(1293072805));6 //結果是2010年12月23日 10:537 //第二種 8 function getLocalTime(nS) { 9 r…

計算機桌面去方格子,win7桌面office圖標變成白色方格圖標的原因和解法

win7系統開機發現桌面上所有office圖標變成白色方格圖標,其他程序圖標都正常顯示,是怎么回事呢?出現這樣的情況,一般是由于文件圖標緩存錯誤或者丟失導致,找打原因后該如何解決問題?可以通過記事本來解決此…

JS獲取元素的offsetTop,offsetLeft等相關屬性

1. obj.clientWidth //獲取元素的寬度 obj.clientHeight //元素的高度 obj.offsetLeft //元素相對于父元素的left obj.offsetTop //元素相對于父元素的top obj.offsetWidth //元素的寬度 obj.offsetHeight //元素的高度 區別: clientWidth width padding clientHe…

vi/vim 三種模式及命令 (簡單粗暴,輕松搞懂)

//一般模式(默認模式) 一般模式: 移動光標 h 或 向左方向鍵 光標向左移動一個字符 j 或 向下方向鍵 光標向下移動一個字符 k 或 向上方向鍵 光標向上移動一個字符 l 或 向右方向鍵 光標向右移動一個字符 [Ctrl] [f] 屏幕『向前』移動一頁(常用) [Ct…

Kong入門學習實踐(1)基礎概念快覽

【API網關】| 總結/Edison Zhou最近在學習Kong網關,因此根據老習慣,我會將我的學習過程記錄下來,一來體系化整理,二來作為筆記供將來翻看。由于我司會直接使用Kong企業版,學習過程中我會使用Kong開源版。什么是Kong&am…

條件鎖

ReentrantLock類有一個方法newCondition用來生成這個鎖對象的一個條件(ConditionObject)對象,它實現了Condition接口。Condition提供了線程通訊的一套機制await和signal等線程間進行通訊的方法。。1、適用場景當某線程獲取了鎖對象&#xff0…

計算機應用技術 平面設計,全國信息化計算機應用技術水平教育考試試卷 平面設計師...

科目編號:4233全國信息化計算機應用技術水平教育考試試卷(考試時間:180分鐘 考試總分:100分 專業認證課程:Photoshop 平面設計)注意事項1、 請首先按要求在試卷的標封處填寫您的姓名、考號等;2、 請仔細閱讀各種題目的…

RabbitMQ之消息模式簡單易懂,超詳細分享

前言上一篇對RabbitMQ的流程和相關的理論進行初步的概述,如果小伙伴之前對消息隊列不是很了解,那么在看理論時會有些困惑,這里以消息模式為切入點,結合理論細節和代碼實踐的方式一起來學習。正文常用的模式有Simple、Work、Fanout…

每天一個linux命令(6):rmdir 命令

今天學習一下linux中命令: rmdir命令。rmdir是常用的命令,該命令的功能是刪除空目錄,一個目錄被刪除之前必須是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危險性。)刪除某目錄時也必須具…

jvm系列(八):jvm知識點總覽

在江湖中要練就絕世武功必須內外兼備,精妙的招式和深厚的內功,武功的基礎是內功。對于武功低(就像江南七怪)的人,招式更重要,因為他們不能靠內功直接去傷人,只能靠招式,利刃上優勢來…

計算機基礎知識的文獻,四?計算機文獻檢索基礎知識(原理、結構和功能)

1.計算機檢索原理計算機一方面接受用戶的檢索提問,一方面從數據庫中讀取文獻記錄,然后把兩者進行比較,即檢索提問標識與文獻記錄標識進行匹配運算,如果比較的結果一致,那么這篇文獻就會作為命中文獻在檢索結果中顯示&a…

APP地推心得:可復制的APP地推方案

APP地推難?APP地推方案包含哪些?現在,不需要編程就能自己完成手機APP制作,而且還有大量的APP模板,可以直接套用。APP的制作資金技術大幅度降低,現在最大的問題就是怎么APP推廣的問題。 在移動互聯網的時代&…

【代碼筆記】iOS-播放從網絡上下載的語音

代碼&#xff1a; ViewController.m #import "ViewController.h" //錄音 #import <AVFoundation/AVFoundation.h>interface ViewController () {//播放器AVAudioPlayer *player; }endimplementation ViewController- (void)viewDidLoad {[super viewDidLoad];/…

C# 基于.NET6的CM+Fody+HC入門實戰項目(經典)

概述上期我們概述了CMFodyHC&#xff0c;如果之前沒有閱讀&#xff0c;可以先了解下&#xff1a;C# 為什么說CMFodyHC是WPF開發的最強組合&#xff1f;今天基于最新的VS版本、最新的CM框架版本&#xff0c;.NET基于6.0&#xff0c;搭建了一個WPF入門學習項目實例&#xff0c;關…

PHP資源列表(轉)

一個PHP資源列表&#xff0c;內容包括&#xff1a;庫、框架、模板、安全、代碼分析、日志、第三方庫、配置工具、Web 工具、書籍、電子書、經典博文等等。 初始翻譯信息來自&#xff1a;《推薦&#xff01;國外程序員整理的 PHP 資源大全》 該內容也可以在github的相關項目上瀏…

當今 計算機已進入千家萬戶英語,學生英語教學論文,關于信息技術在大學英語教學中的應用探析相關參考文獻資料-免費論文范文...

導讀:這是一篇與學生英語教學論文范文相關的免費優秀學術論文范文資料,為你的論文寫作提供參考。摘 要&#xff1a;隨著經濟全球化和信息化時代的到來,計算機技術已深入到社會的各個領域.以往大學中所使用的傳統面授課教學模式已經跟不上信息時代的發展步伐,不能滿足當今教學的…

POJ - 2187 Beauty Contest(最遠點對)

http://poj.org/problem?id2187 題意 給n個坐標&#xff0c;求最遠點對的距離平方值。 分析 模板題&#xff0c;旋轉卡殼求求兩點間距離平方的最大值。 #include<iostream> #include<cmath> #include<cstring> #include<queue> #include<vector>…

Kong入門學習實踐(2)實驗環境搭建

【API網關】| 總結/Edison Zhou最近在學習Kong網關&#xff0c;因此根據老習慣&#xff0c;我會將我的學習過程記錄下來&#xff0c;一來體系化整理&#xff0c;二來作為筆記供將來翻看。由于我司會直接使用Kong企業版&#xff0c;學習過程中我會使用Kong開源版。本篇&#xff…

Mysql-索引的基礎和類型

一、 索引的基礎 索引類似于書籍的目錄&#xff0c;要想找到一本書的某個特定主題&#xff0c;需要先查找書的目錄&#xff0c;定位對應的頁碼。 存儲引擎使用類似的方式進行數據查詢&#xff0c;先去索引當中找到對應的值&#xff0c;然后根據匹配的索引找到對應的數據行 二…