WEB开发网
开发学院数据库MSSQL Server SQL Server BI Step by Step SSIS 6 --- 获取远... 阅读

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

 2009-09-19 00:00:00 来源:WEB开发网   
核心提示:SSIS不仅是一个ETL工具,其实它的功能非常强大,SQL Server BI Step by Step SSIS 6 --- 获取远程主机的可用磁盘空间,就拿它的WMI Data Reader任务和Event Watcher任务来说,甚至可以获取很多操作系统的信息,Windows管理规范(Windows Manage

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数据读取器任务,双击对期属性进行设置:

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

图片看不清楚?请点击这里查看原图(大图)。 

WMIConnection直接新建的链接,输入主机名称,用户名和密码即可,当然,在这里也可以采用动态连接的方式,那样需要直接改变WMIConnection的连接字符串.

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

图片看不清楚?请点击这里查看原图(大图)。

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; 
}

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

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

结论:

1.可能这种功能能够派上用场的时候比较少,但是SSIS提供的功能已经涵盖非常广,在很多问题的解决方案中能够成为一种选择。

出处:http://lonely7345.cnblogs.com/

Tags:SQL Server BI

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接