开发者社区> 长征6号> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SQL Server BI Step by Step SSIS 6 --- 获取远程主机的可用磁盘空间

简介:
+关注继续查看

 SSIS不仅是一个ETL工具,其实它的功能非常强大。就拿它的WMI Data Reader任务和Event Watcher任务来说,甚至可以获取很多操作系统的信息。Windows管理规范(Windows Management Instrumentation)是Windows中的“最高机密”之一. WMI通过WQL查询,可以来完成以下应用:
      1.读取系统事件日志来查找某个特定的错误
      2.查询运行中的应用程序列表
      3.查询在程序包执行期间有多少内存可用调试
      4.确定磁盘上的空余磁盘空间
     当然,这些应用你也可以通过C#调用WMI来实现。不过使用SSIS,你可以结合这些应用,与数据库的操作,数据转换和集成联系起来,能够发挥更强大的作用。
    
需求:
     需要获取远程服务器的磁盘可用空间大小.

实现:
   
1.首先需要确定的是,查询远程电脑的磁盘大小,必须具有这台主机的管理员权限,或者能够以管理员的身份来运行包.
     2.新建一个SSIS包,名称为WMI_Query,在控制流中添加WMI数据读取器任务,双击对期属性进行设置:
       screenshot 
   WMIConnection直接新建的链接,输入主机名称,用户名和密码即可,当然,在这里也可以采用动态连接的方式,那样需要直接改变WMIConnection的连接字符串.
    screenshot

 

  WQL的输入方式为直接输入,这里也可以使用变量名教文件输入。查询磁盘空间的语句为:

SELECT FreeSpace, DeviceId, Size, SystemName, Description FROM
Win32_LogicalDisk
where DriveType= 3

  WMI中DriveType是指驱动器类型,  0代表未知,1代表可移动,2代表固定,3代表网络,4代表CD-ROM,5代表RAM磁盘,我们设置目标的方式为变量,并且直接新建一个字符串的变量DiskUsageResults.
   3. 为了方便查看,我们可以添加一个脚本任务来输出这个变量,直接弹出窗口来显示磁盘信息:

 
public void Main()
{
    // TODO: Add your code here
    MessageBox.Show(Dts.Variables["DiskUsageResults"].Value.ToString());
    Dts.TaskResult = (int)ScriptResults.Success;
}

  运行包,我们可以直接看到远程机器上面的所有的磁盘使用情况
screenshot

结论:
     1.可能这种功能能够派上用场的时候比较少,但是SSIS提供的功能已经涵盖非常广,在很多问题的解决方案中能够成为一种选择。
资源:
     1.WMI Data Reader Task Query   http://www.sqlservercentral.com/articles/Integration+Services+(SSIS)/67428/
     2.图解SSIS监视文件夹并自动导入数据   http://blog.csdn.net/jinjazz/archive/2008/07/29/2730135.aspx

作者:孤独侠客似水流年
出处:http://lonely7345.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

分类: SQL Server

本文转自孤独侠客博客园博客,原文链接:http://www.cnblogs.com/lonely7345/archive/2009/09/17/1568808.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
深度解析:关于创建BSC币安链DAPP智能合约系统开发方案详细(技术方案)
深度解析:关于创建BSC币安链DAPP智能合约系统开发方案详细(技术方案)
28 0
美团动态线程池思路开源框架(DynamicTp),监控及源码解析篇
大家好,动态线程池项目DynamicTp开源一个多月,目前400多star,说明还是比较受欢迎的,现在已经有一些小伙伴在接入使用或者即将接入使用了,为了项目以后更好的发展迭代,打算出几篇文章来对DynamicTp做一些更详细的介绍,有兴趣的小伙伴欢迎一起参与进来完善迭代项目。
206 0
SLS Logstore模拟接入OSS访问日志和主机监控
在使用SLS的过程中,在试用一些功能时,还未接入正式的数据,往往不能很好的体验SLS功能,SLS提供了模拟接入的功能,可以对一些常见类型的日志进行模拟接入,接入后就可以看到一些mock的数据,本文介绍两种常见的模拟接入。
309 0
TPYBoard自制微信远程智能温湿度计
智能时代一夜间什么都能远程了。创业者想着如何做智能产品,如何做远程控制。DIY爱好者也想着如何自制各种奇妙的工具。这里和大家一起学习制作一款廉价的智能温湿度计。说它廉价是因为共计花费不过40元,说它智能是因为你可以通过手机微信时时知道该设备所在位置的温湿度。
1458 0
+关注
1222
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载