SSIS & WMI Data Reader Task Query

  • dave-dj

    SSChampion

    Points: 11230

    Comments posted to this topic are about the item SSIS & WMI Data Reader Task Query

    _____________________________________________________________________________
    MCITP: Business Intelligence Developer (2005)

  • Kruti Kansara

    Hall of Fame

    Points: 3088

    Hi,

    Very good article!!! 🙂

    Actually, as you mentioned in this article, WMI is very least used but the most powerful technique. It will be good if the article contain the basic idea about it with some link to WMI. It will be more helpful to the reader to have a thought about WMI as it is not widely used.

    But for those who are aware with WMI, this is the best article!!!

    Thanks for sharing such.

    Good Luck.

    "Don't limit your challenges, challenge your limits"

  • dave-dj

    SSChampion

    Points: 11230

    Thanks 😀

    _____________________________________________________________________________
    MCITP: Business Intelligence Developer (2005)

  • robmasonjr67

    Valued Member

    Points: 72

    Excellent article - implementing this as we speak...

    Change syntax of query from:

    SELECT FreeSpace, DeviceId, Size, SystemName, Description FROM in32_LogicalDiskwhere DriveType= 3

    to

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

    Thanks!

  • darryl_marshall

    Right there with Babe

    Points: 775

    great article. Having a look at using at the moment. Love that you included a pdf with more details and screenshots.

  • Elliott Whitlow

    SSC Guru

    Points: 102296

    I agree, good article, with only one real type that was easy to fix..

    CEWII

  • robmasonjr67

    Valued Member

    Points: 72

    For you guys who are implementing this - what interval are you running?

    I have it running every 6 hours watching 3 of our most critical servers, each with 3 logical disks (all VMs).

    We intend on coming up with a chart to show trends for day/week/month.

    How are you guys planning to use it?

  • darryl_marshall

    Right there with Babe

    Points: 775

    I'm just going to use this to check some remote machines once a day for now, nothing mission critical.

  • Steve Margolis

    SSC Enthusiast

    Points: 192

    Excellent article, Dave, and the timing couldn't be better as I have recently been tasked with producing Server availability reports, which I will use TempDB creation date for.

    I had already done the first three steps when I found your article. Steps 4 and 5 are straightforward, but I ran into a snag with Step 6 - Building the Server Query Loop. You say to add a For each Loop Container to the data flow work area, but the only Foreach Loop Container I can find are in the control flow items.

    I was using BIDS 2008 and thought perhaps things got changed, so I tried the same thing with BIDS 2005, but the FeLC is in the same place. What am I missing?

    Using the FeLC in the Control Flow, I had some problems initially. I don't have a lot of SSIS experience yet, and it took a lot of poking and prodding to find that Ihadto click on the words "Foreach File Enumerator" to see the pull down list where I found "Foreach ADO Enumerator" which then gave me the ADO object source variable window where I foung User::ServerList to select, as well as the radio buttons to select Rows in the frist table.

    But it remains in my Control flow tab, not my Data flow tab. I'll see what happens in Step 7.

    Again thanks for a super article.

  • dave-dj

    SSChampion

    Points: 11230

    Sorry, your perfectly right, the FELC for step 6 should be on the control flow screen. Bit of a typo I'm afraid. If you get any other problems then let me know.

    _____________________________________________________________________________
    MCITP: Business Intelligence Developer (2005)

  • sujiakm

    SSC Eights!

    Points: 895

    Hi,

    I am unable to procced further with the WMI_Conn properties. I receive the below error while setting the connection string for WMI_Conn.

    -----------------------------------

    The variable "user::ServerConnString" was not found in the Variables collection. The variable might not exist in the correct scope.

    Attempt to parse the expression ""servername=\\\\" +@[user::ServerConnString] +

    ";Namespace=\\root\\simv2;UserNtAuth=True;username=;"" failed and returned error code 0xC00470A6. The expression cannot be parsed. It might contain invalid elements or it might not be well-formed. There may also be an out-of-memory error.

    -------------------------------------

    I am stuck at this step.

    Thanks in advance:-)

  • dave-dj

    SSChampion

    Points: 11230

    Hi

    Looking at your error, I say it's either your variable is defined or your server connection string blank - possibly as a result of the variable not being mapped to the right index.

    Couple of initial things to check,

    1. have you defined the User::ServerConnString in the variables pane?

    2. Have you defined the scoped the variable to Package level.

    3. If your source table where your getting your server address from has more than 1 column, then make sure you map the variable User::ServerConnString to the correct column (i.e. table column 1 is index 0, table column 2 is index 1 etc etc.

    Also, I'm not sure if you've looked at the pdf download, or just the main forumn article, but my pdf is probably a little clearer as I used screen shots etc. Here's the download http://www.sqlservercentral.com/Files/WMI%20QUERY%20Article.pdf/3897.pdf

    Let me know how you get on.:hehe:

    _____________________________________________________________________________
    MCITP: Business Intelligence Developer (2005)

  • sujiakm

    SSC Eights!

    Points: 895

    Thanks a lot.. thanks for the detailed PDF with screenshots.

    Could you please guide me on how to run this query against an specific server through SSRS. Ie., I need to select the Servername (datasouce) on SSRS and pass that value to this SSIS package and then the package should collect the data for that particular server and store the data to a table. From there the data should be displayed in a Report format.

    Please guide me on the above approach or if anyother way to get it done.

    Thanks in advance.:-)

  • sujiakm

    SSC Eights!

    Points: 895

    Hi Dave,

    I followed all the steps as mentioned in the PDF, but everytime, it returns the local system disk space details to data table, and not the remote servers listed in the Servers table. Pls advice.

    Thanks:doze:

  • dave-dj

    SSChampion

    Points: 11230

    that sounds like it's not picking up your passed servername variable or it can't find the server

    First off, if you haven't already done it, create another package with a WMI task with the same query, but manually define one of the servers you want to connect to, to make you it connects ok.

    Are you storing the server name in a database table, prior to calling the package?

    Could you send me note on how you have setup your SSRS report to pass the servername variable to the package, and call the package. I'll try and set something up here to do the same and see if I can find the problem.

    (Ps sorry i'm only just replying I've been on holiday for a week 😀 )

    _____________________________________________________________________________
    MCITP: Business Intelligence Developer (2005)

Viewing 15 posts - 1 through 15 (of 30 total)

You must be logged in to reply to this topic. Login to reply