「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」数据分析师有理由爱Sqlserver之十-Sqlserver自动化


代理模块下的创建作业

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


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


自动化的调度程序

外部程序与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,也挺高质量值得出手的。


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


书籍1

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


书籍2

结语

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

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

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

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

展开阅读全文

页面更新:2024-04-06

标签:数据   微软   笔者   群体   模型   场景   对象   体系   操作   代码   方式   数据库   程序   用户   数码   技术

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top