使用SSIS WMI Data Reader 通过WMI收集数据库维护信息

简介:

作为DBA来讲,不光要关注SQLServer本身的信息,还需要关注Windows的信息比如磁盘,性能,硬件信息等等。通过SQLServer提供的一些选项比如xp_cmdshellOLEautomation或者CLR都可以实现,但是可能对SQLServer有一些影响比如安全性方面。

比较常用的办法是使用WMI查询远程机器上的硬件,软件配置等信息。

SSIS中,提供了SSISWMIDataReader的工具,可以方便DBA不通过复杂代码来实现上面的功能。下面的例子就通过使用WMIDataReader收集磁盘性能。

1.创建表,serverlist存储了所有的服务器列表,freespacetest存放查询的磁盘空间信息。

createtableserverlist(namevarchar(20),locationvarchar(20))

createtablefreespacetest

(

FreeSpacebigint,

Namevarchar(20),

Sizebigint,

SystemNamevarchar(20)

)

2.创建SSIS项目,然后创建两个参数WMIConnStrListWMIConnStr,如图:

SouthEast

3.创建临时文件(txt)存储WMI输出信息,列名为:

FreeSpace,Name,Size,SystemName

SouthEast

4.创建WMIConnectionManager,在变量中选择第二步创建的WMIConnStr作为连接字符串。

SouthEast

5.创建WMIConnectionManager连接字符串列表,通过查询serverlist产生WMIConnectionString列表(ResultName为0),SQL代码如下:

SELECT'ServerName=\\'+ServerName+

';Namespace=\root\cimv2;UseNtAuth=True;UserName=;'

FROMdbo.ServerList

SouthEast

SouthEast

6.创建ForeachLoop容器循环服务器列表,选择ADO。

SouthEast

SouthEast

7.创建WMIDataReaderTask,根据Loop的结果查询单个服务器磁盘信息

SouthEast

WMIQuery:SELECTSystemName,Name,FreeSpace,SizefromWin32_LogicalDiskWHEREdescription="LocalFixedDisk"

8.创建DataFlowTask将txt中的数据导入到数据库。衍生的一列记录数据生成的日期。

SouthEast

其他的操作也是同样的步骤,只需要修改WMI的查询语句就可以了。


本文转自 lzf328 51CTO博客,原文链接:http://blog.51cto.com/lzf328/1323158



相关文章
|
6月前
|
SQL 存储 监控
|
7月前
|
JavaScript Java 关系型数据库
农业信息|基于SSM+vue的农业信息管理系统的设计与实现(源码+数据库+文档)
农业信息|基于SSM+vue的农业信息管理系统的设计与实现(源码+数据库+文档)
112 1
|
4月前
|
SQL 监控 Java
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
这篇文章介绍了如何在IDEA和Spring Boot中使用AOP技术实现日志信息的记录到数据库的详细步骤和代码示例。
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
|
1月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
424 2
|
6月前
|
监控 关系型数据库 Java
|
2月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
2月前
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
186 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
|
3月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
200 5
|
4月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
4月前
|
SQL Java 数据库连接
连接数据库实现查询员工信息
该博客文章展示了如何在Java中使用JDBC连接SQL Server数据库,并执行查询操作来检索员工信息,包括加载数据库驱动、建立连接、创建SQL查询、处理结果集以及关闭数据库资源的完整示例代码。
连接数据库实现查询员工信息