zoukankan      html  css  js  c++  java
  • 通过SSIS监控远程服务器磁盘空间并发送邮件报警

    本文直接参考了博客园软件人生的文章操作的,写在这里只为做个记录.

    到公司这边先把两个报表服务器接收了. 为防止宕机,部署个磁盘警告的SSIS包.

    Step 1 建立两个变量来接收和写入磁盘容量

    image

    Step 2 创建 WMI和SMTP 连接管理器

    image

    Step 3 拖个WMI Data Reader Task,并进行配置

    注意,几乎每个选项都要改

    SELECT FreeSpace FROM Win32_LogicalDisk where DriveType= 3 and DeviceID='C:'

    image

    Step 4 拖个Script Task 并进行配置

    image

    long gb = 1024 * 1024 * 1024; 
               
                // TODO: Add your code here
                Dts.Variables["DiskResults"].Value = double.Parse(Dts.Variables["DiskUsageResults"].Value.ToString()) / gb;
                
                Dts.TaskResult = (int)ScriptResults.Success;

    (注,我点击Edit Script的时候报错了, 应该是之前装了新版本的SSDT删掉后,在用老的SSDT就会有问题。把原来VS相关的东西删掉,再重新安装SSDT就好了)

    image

    约束限制:

    image

    最后设置SMTP就好啦

    image

    问题

     SQL Agent 默认的启动帐号 NT ServiceSQLSERVERAGENT 跨服务访问WMI提示失败, 我尝试把这个帐号加入管理组也不行。 后来找了个本地帐号来启动SQL Agent 才可以。 看资料好像WMI只认本地帐号。 其他小伙伴碰到这个情况请解说下。

    参考文档

    [总结]WMI相关的知识

    http://blog.chinaunix.net/uid-7672958-id-2599044.html

    Could not load file or assembly ‘Microsoft.VisualStudio.Tools.Applications.Core’

    http://pietervanhove.azurewebsites.net/?p=461

    WQL - WMI Event Watcher Task - Access Denied

    https://social.technet.microsoft.com/Forums/sqlserver/en-US/fe033702-d1e9-4276-a2a4-99a7ae61c722/wql-wmi-event-watcher-task-access-denied?forum=sqlintegrationservices

  • 相关阅读:
    铁轨
    POJ 2385 -- Apple Catching
    POJ 3258 -- River Hopscotch
    POJ 1469 -- COURSES (二分匹配)
    POJ 2349 -- Arctic Network
    最小生成树
    NOIP200703守望者的逃离
    NOIP200706字符串的展开
    POJ 1036 -- Gangsters
    POJ 1952 -- BUY LOW, BUY LOWER
  • 原文地址:https://www.cnblogs.com/haseo/p/4384049.html
Copyright © 2011-2022 走看看