「Sqlserver」数据分析师有理由爱Sqlserver之十-Sqlserver自动化篇

本系列的最后一篇,因未有精力写更多的入门教程,上篇已经抛出书单,有兴趣的朋友可阅读好书来成长,此系列主讲有理由爱Sqlserver的论证性文章,希望读者们看完后,可自行做出判断,Sqlserver是否真的合适自己,目的已达成。

渴望自动化及使用场景

笔者所最能接触到的群体为Excel、PowerBI用户群体,在Excel中,我们知道可以使用VBA、VSTO来给Excel带来自动化操作,将原有的复杂繁琐的功能组合起来,批量性完成特定工作,并保证完成质量稳定、高效、准确。

在Sqlserver中,一样开放了自动化的能力,笔者所认识到的层面有以下3种,各有不同的使用场景,读者们可以大概有所了解,真正需要用到时,可再深入地去研究学习。

在使用场景上,Sqlserver的自动化可以让我们释放双手,让程序给我们定时完成一些复杂任务,特别是使用错开时间段来完成一些高负荷的任务,如在凌晨时段,业务系统处于空闲时候,进行数据ETL抽取操作,将生产数据库的数据抽取到数据仓库内。

同样地若有某些耗时的SQL查询任务,可以封装成存储过程,在数据ETL结束后,使用自动化调度操作运行存储过程,让其生成最终的结果表数据,供用户查询时调用,无需再即时进行运算,提升查询的体验。

使用Sqlserver代理实现自动化调度作业

既然自动化这么重要,特别是对企业级需求来说,越少的人工干预,数据出来的质量越高,所以,Sqlserver代理的功能,微软实行收费性提供,只有标准版和企业版上才有提供,免费的Sqlserver Express,是没有这个模块的。

还是老话,软件是产生价值的,对个人学习角度,无需关注软件的版权问题,学习目的都是可行的,可以使用Sqlserver开发者版本,无需激活,永久免费。至于企业未能有机会用上,这个是时间问题,总会遇到有价值的企业来使用你有价值的技能的。

代理可以自动化的内容非常丰富,不只是运行某段T-SQL语句,还可运行系统内的exe程序或powershell脚本、ETL任务等。

代理模块下的创建作业

自动化的调度程序,也是几乎满足所有调度要求,每月、每周、第日间隔小时数等等都可配置,都是界面化的体验。

自动化的调度程序

外部程序与Sqlserver对象模型进行交互

熟悉VBA的Excel用户都知道,在Excel上界面可以操作的绝大部分内容,都可以通过VBA的方式使用代码操作。代码操作的好处是自动化程度高,无需依赖前端用户的干预即可完成大量的工作。

在数据库层面,像Oracle、MySQL这样的服务器版的数据库,都会有存储过程提供代码操作数据库的方式,但Sqlserver比这些更进一步,可以通过面向对象的方式,使用类似VBA一样的体验,通过代码去访问Sqlserver的数据库对象模型。

比起SQL语句操作数据库内容,使用数据库对象,更加形象,更友好,可以用面向对象的编程方式去调用它的属性、方法、事件。而不是像存储过程那样只能用拼接SQL语句的原始方式操作。

在Sqlserver上对象模型中,微软开发了SMO(Sqlserver Manage Object)、AMO对象模型(Analysis Service Manage Object),有了这个对象模型的接品,就可以使用.NET体系的编程语言与Sqlserver进行交互。

再次见证了微软系的学习是多么地美妙,一种技术的掌握,可以应用到多种的产品中来,像.NET语言,不止可以开发独立程序,更可以写OFFICE的扩展程序,Sqlserver和Windows的扩展程序、自动化运维程序和等等。

PowerShell脚本自动化操作

和上述的外部程序自动化操作类似,都是调用Sqlserver的数据库对象模型,只是PowerShell更适合非编程开发人员使用,命令更简单,封装更高级,更易用。是数据库运维人员使用的好帮手。

PowerShell理论上可以做到.NET程序所做的一切事情,并且脚本化操作,类似于Python在Ipython环境下写代码一样,每写一句,就可返回一个结果做验证,也很适合数据分析师的角色做一些简单运维自动化操作。

若只是运维Sqlserver来学习PowerShell,确实有点小题大作,就如上文提到,微软的技术,在整个微软系产品里是通用的,用PowerShell来自动化Sqlserver、Windows还有时下最热门的云平台Azure平台,都是一脉相随完全通用的。

笔者在后续的推文中,亦会做一些简单的介绍,现学现卖,也才是PowerShell的初学者。有兴趣的读者们,可提前了解下,市面仅有的两本中文版PowerShell,也挺高质量值得出手的。
书籍1

书籍2

结语

现今虽是技术专业化分工时代,但不是每个人都那么幸运,有相应的团队支持自己职能外的工作。在微软系中,做个业余的全栈的开发、运维、分析的全能型选手,其实学习成本也不高,但学到的是自己的真本领,可以轻松复制到广大中小企业中推行。

笔者也是从一名Excel用户,学习数据分析的路上,越走越宽,最终走进了微软系的产品大矩阵体系中,在技术学习突破瓶颈后,感觉一切都海阔天空,在微软系的知识体系里,技术的可重复使用真的非常广,技术交叉应用的场景非常多,也不后悔进入了微软系的知识结构体系中。

本篇前面部分不涉及太多代码级别操作,大部分群体都可快速上手并享受自动化的红利,后面的深入进阶代码化自动化对于少部分数据分析群体可能适用,觉得自动化领域不合适的,大可略过。

笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。

相关阅读

「Sqlserver」数据分析师有理由爱Sqlserver之一-好用的插件工具推荐https://www.jianshu.com/p/637aba4aeee5
「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver https://www.jianshu.com/p/b40f8a36055e
「Sqlserver」数据分析师有理由爱Sqlserver之三-最值得使有低投入高产出的Sqlsever https://www.jianshu.com/p/8a5396a7a402
「Sqlserver」数据分析师有理由爱Sqlserver之四-七大数据库产品测评Sqlserver完胜 https://www.jianshu.com/p/243115b797ff
「Sqlserver」数据分析师有理由爱Sqlserver之五-数据库环境使用正则表达式不再是梦 https://www.jianshu.com/p/5900cfaa1300
「Sqlserver」数据分析师有理由爱Sqlserver之六-让Sqlserver拥有字符串聚合函数https://www.jianshu.com/p/ab3deac51973
「Sqlserver」数据分析师有理由爱Sqlserver之七-最刚需的数据导入导出功能-导入篇https://www.jianshu.com/p/e901b8cd4d2b
「Sqlserver」数据分析师有理由爱Sqlserver之八-最刚需的数据导入导出功能-导出篇 https://www.jianshu.com/p/adc82aa93efb

关于Excel催化剂

Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!

Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!

Excel催化剂插件下载链接:https://pan.baidu.com/s/1Iz2_NZJ8v7C9eqhNjdnP3Q

联系作者

公众号

取名催化剂,因Excel本身的强大,并非所有人能够立马享受到,大部分人还是在被Excel软件所虐的阶段,就是头脑里很清晰想达到的效果,而且高手们也已经实现出来,就是自己怎么弄都弄不出来,或者更糟的是还不知道Excel能够做什么而停留在不断地重复、机械、手工地在做着数据,耗费着无数的青春年华岁月。所以催生了是否可以作为一种媒介,让广大的Excel用户们可以瞬间点燃Excel的爆点,无需苦苦地挣扎地没日没夜的技巧学习、高级复杂函数的烧脑,最终走向了从入门到放弃的道路。

最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任的,外面的世界仍然是一个广阔的世界,Excel只是其中一枚耀眼的明星,还有其他更多同样精彩强大的技术、工具等。*Excel催化剂也将借力这些其他技术,让Excel能够发挥更强大的爆发!

关于Excel催化剂作者

姓名:李伟坚,从事数据分析工作多年(BI方向),一名同样在路上的学习者。
服务过行业:零售特别是鞋服类的零售行业,电商(淘宝、天猫、京东、唯品会)

技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。
历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。

擅长技术领域:Excel等Office家族软件、VBA&VSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。

2018年开始职业生涯作了重大调整,从原来的正职工作,转为自由职业者,暂无固定收入,暂对前面道路不太明朗,苦重新回到正职工作,对Excel催化剂的运营和开发必定受到很大的影响(正职工作时间内不可能维护也不可能随便把工作时间内的成果公布于外,工作外的时间也十分有限,因已而立之年,家庭责任重大)。

和广大拥护者一同期盼:Excel催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。

姓名:李伟坚 从事数据分析工作多年(BI方向),一名同样在路上的学习者。 技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。 历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。 擅长技术领域:Excel等Office家族软件、VBAVSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。 2018年起成为自由职业工作者,期待Excel催化剂可以一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢,初步设想可以数据顾问的方式或一些小型项目开发的方式合作。
原文地址:https://www.cnblogs.com/ExcelCuiHuaJi/p/11268755.html