• SSIS常用的包—WMI数据读取任务和WMI事件监听任务


    Windows Management Instrumentation (WMI)是Windows的最高机密之一,它允许你通过一个脚本界面来管理Windows平台。WMI数据读取任务通过WQL语言(WMA专用语言)来 接触管理服务器或者工作平台(例如查看系统日志)。查询语句可以将结果输出到变量中。WMI数据读取任务可以完成下面的工作。

    • 在事务日志中查询可能的错误信息
    • 查询正在运行的应用程序
    • 查询在包运行过程中有多少可用RAM
    • 判断有多少可用的磁盘空间

      在编辑界面中可以配置WMI数据读取任务,如图3-22。首选在WMI连接管理界面新建一个WMI连接,WQLQuerySourceType 属性设置是否直接输入查询语句,从变量中获取或者从文件中获取,WQLQuerySource属性选择要运行的查询,可以是一个变量名字,文本文件名字, 或者就是一个查询语句。

          

                             图3-22

      OutputType属性设定仅仅输出查询值还是和列名一起输出,OverwriteDestination属性设置是否每次运行都重写结果。

    WQL查询语言和SQL查询语言十分类似,例如下面的查询语言查询C盘的可用空间,名字和其他一些度量下面的这个例子查询关于SQL Server和SSIS的一些日志信息

    OutputType 属性设定仅仅输出查询值还是和列名一起输出, OverwriteDestination 属性设置是否每次运行都重写结果。

      WQL 查询语言和 SQL 查询语言十分类似,例如下面的查询语言查询 C 盘的可用空间,名字和其他一些度量  

    1 SELECT FreeSpace, DeviceId, Size, SystemName, Description FROM Win32_LogicalDisk
    2   WHERE DeviceID = ' C: '

    输出结果如下:

    1 Description, Local Fixed Disk
    2 DeviceID, C:
    3 FreeSpace, 32110985216
    4
    5 Size, 60003381248
    6 SystemName, BKNIGHT

    下面的这个例子查询关于 SQL Server 和 SSIS 的一些日志信息

    1 SELECT * FROM Win32_NTLogEvent WHERE
    2 LogFile = ' Application ' AND
    3 (SourceName = ' SQLISService ' OR SourceName = ' SQLISPackage ' )
    4 AND TimeGenerated > ' 20100817 '

    输出结果类似:

    1 0
    2 BKNIGHT
    3 12289
    4 1073819649
    5 3
    6 System.String []
    7 Application
    8 3738
    9 SQLISPackage
    10 20050430174924.000000 - 240
    11 20050430174924.000000 - 240
    12 information
    13 BKNIGHT/Brian Knight
    14 0

    WMI 事件监听任务可以使 SSIS 监听操作系统中的 WMI 事务。它和 WMI 数据图区任务有类似的功能,下面是 WMI 事件监听任务可以完成的工作:

    • 监视某个文件夹内的文件被写入
    • 等待服务程序开启
    • 等待执行某 package 或者转移文件之前前十服务器的内存使用量是否达到某个水平
    • 等待 CPU 空闲

    最后一个功能,等待 CPU 空闲可以使用下面类似的语句,判断 CPU 使用量是否少于 50%

    1 SELECT * from __InstanceModificationEvent WITHIN 2 WHERE TargetInstance ISA
    2 ' Win32_Processor ' and TargetInstance.LoadPercentage < 50
    3

      

      属性编辑页面和 WMI 数据读取任务非常类似,如图 3-23 。 AfterEvent 选项设置在条件满足时任务返回成功,失败还是否保持请求条件。还可以通过ActionAtTimeout 和 AfterTimeout 设置超时时间和超时的时候返回结果。 Timeout 属性设置任务执行时间。

          

                          图3-23

  • 相关阅读:
    牛式个数
    查找矩阵中某一元素
    破碎的项链
    找鞍点
    方阵形对角矩阵
    间接寻址
    Oracle安装配置的一些备忘点
    通过二维码在Windows、macOS、Linux桌面和移动设备之间传输文件
    httpd连接php-fpm
    nginx反代+lamp+MySQL主从同步的简单实现
  • 原文地址:https://www.cnblogs.com/martin-roger/p/5937821.html
Copyright © 2020-2023  润新知