Query to see what components or features are installed

  • I've been trying to find a simple way to query to see what components and features are installed on my servers but it doesn't seem that simple. I'm looking for something that will identify components and features for a security audit and I'd prefer not to have to manually looking up each component to see if they're installed. Does anyone have anything hand that can accomplish this?

  • Hi Gabriel,

    Did you find a way to do this? I'm in the same situation.

    If you haven't let me know anyway, I'll tell you what I find out.

  • If you query sys.configurations this will tell you if a number of features have been enabled. You will also be able to tell if some of the default settings have been changed.

    Take a look,


    Hope this helps,


  • rdouglas66

    sys.configurations does have some really good stuff in it but not what I was originally looking for. I'm trying to find somehting more like being able to query if the SSIS component is installed or BI Dev. Studio.

    Rich I haven't had any luck on finding a way to query that, just had to do it the old fashion way. Look around. I haven't got back to it yet.

    Good luck, cheers.

  • If you are looking for programs that are installed then you will need to query the registry do a google on xp_instance_regread.


    Hope this helps,


  • That's where I was at last just never got it ironed out...looked like a good prospect.

  • I've never used it in anger, but I know it's part of Ola Hallengren's backup scripts[/url] which is where I got the idea from.

    Hope this helps,


  • Thanks for the answers Rich - I have had a look and I guess if I was scripting an enterprise solution it might be the best answer, but in truth I'd probably have to spend all day installing and uninstalling on a test server to work out which reg keys to use and I really just need to duplicate an installation.

    This article looks very promising, it talks about an installation log file and something called Microsoft MAP, haven't looked at either of them yet but I'll report back.


  • Well that was useful, in truth the first thing I tried gave me the answer I need, so no need to go any further...

    For reference this log file is it:

    <drive>:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\LOG\Summary.txt

    Here's the contents:

    Overall summary:

    Final result: Passed

    Exit code (Decimal): 0

    Exit message: Passed

    Start time: 2010-03-30 09:59:51

    End time: 2010-03-30 10:04:37

    Requested action: Patch

    Instance MSSQLSERVER overall summary:

    Final result: Passed

    Exit code (Decimal): 0

    Exit message: Passed

    Start time: 2010-03-30 10:01:33

    End time: 2010-03-30 10:04:33

    Requested action: Patch

    Machine Properties:

    Machine name:

    Machine processor count: 1

    OS version: Windows Server 2008

    OS service pack:

    OS region: Österreich

    OS language: English (United States)

    OS architecture: x64

    Process architecture: 64 Bit

    OS clustered: No

    Product features discovered:

    Product Instance Instance ID Feature Language Edition Version Clustered

    Sql Server 2008 MSSQLSERVER MSSQL10.MSSQLSERVER Database Engine Services 1033 Standard Edition 10.0.1600.22 No

    Sql Server 2008 MSSQLSERVER MSSQL10.MSSQLSERVER Full-Text Search 1033 Standard Edition 10.0.1600.22 No

    Sql Server 2008 Management Tools - Basic 1033 Standard Edition 10.0.1600.22 No

    Sql Server 2008 Management Tools - Complete 1033 Standard Edition 10.0.1600.22 No

    Sql Server 2008 Client Tools Connectivity 1033 Standard Edition 10.0.1600.22 No

    Sql Server 2008 Client Tools Backwards Compatibility 1033 Standard Edition 10.0.1600.22 No

    Package properties:

    Description: SQL Server Database Services 2008

    SQLProductFamilyCode: {628F8F38-600E-493D-9946-F4178F20A8A9}

    ProductName: SQL2008

    Type: RTM

    Version: 10

    SPLevel: 1

    KBArticle: KB968369

    KBArticleHyperlink: http://support.microsoft.com/?kbid=968369

    PatchType: SP

    AssociateHotfixBuild: 0

    Platform: x64

    PatchLevel: 10.1.2531.0

    ProductVersion: 10.0.1600.22

    GDRReservedRange: 10.0.1000.0:10.0.1099.0;10.0.3000.0:10.0.3099.0

    PackageName: SQLServer2008-KB968369-x64.exe

    Installation location: e:\80c12d41dfb3c7d539\x64\setup

    Updated product edition:

    Instance Edition


    User Input Settings:

    ACTION: Patch




    HELP: False


    INSTANCENAME: <empty>

    QUIET: False


    X86: False

  • MAPs is very useful, I used it at my current position when I joined to see how big the estate was, one thing to take note of is that it installs a named instance of SQLExpress called MAPS

    I would have mentioned it but you said that you wanted it within a query and so wrongly assumed you were wrapping it inside another solution.

    Hope this helps,


  • I think Gabriel's problem might be a little more involved.

    I hate to be all 1980's about this but maybe just picking up and parsing the log file would be the simplest solution if you wanted to automate it....

  • Found this on the web

    Check what are the SQL Components installed on the Server using T-SQL




  • Paul,

    Thanks for the share. That was what I was looking for. I've only done a prelim test but it looked pretty good. I'm just wondering how dynamic it is.



  • Thanks a lot

    It solved my problem


    Sivaram J

  • I am looking for the same thing, however that link is no longer valid. does anyone have another reference or actual answer?

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

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