Find All SQL Servers on a Network

  • I want to audit the client machines and servers on the network at work to find all instances of SQL server that are installed. This is to verify licenses, patches, unauthorized installs, etc.

    Upon quick search I found an article that mentioned using OSQL - L to pull a list of servers. However this list is not all inclusive. For example my local developer edition of SQL 2005 is not visible. If I start the browser service it appears. It is also missing some msde, sqlexpress, etc machines that I know exist.

    I also tried to write a quick C# application using the SmoApplication.EnumAvailableSqlServers() call. This too is an incomplete list like the OSQL method.

    So my question is how do I get a complete list of EVERY install of SQL server without physically going to every workstation and server. I would like to get version informaiton and other data, but at this point I will settle just for for a list of all machines with some kind of sql installed.

  • a guy i work with wrote a vb app that was propogated to all the machines in the company with group policy & login scripts which ran wmi queries which returned ALL the programs installed for EVERY user and saved em in a table.. then filtered the table to find unauthorised products.. or in your case, sql installs

    I'd certainly be interested in knowing a better way to get the sql installs too though.. damn developers install things and then cry about it when theres no backups.. im tired of asking for a complete list of sql installed machines every couple weeks.

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

    I long for a job where my databases dont have any pesky users accessing them 🙂

  • Microsoft has a pretty cool (free) tool called MAP that will find all of the instances on the network.

    http://technet.microsoft.com/en-us/solutionaccelerators/dd537566.aspx

  • Thanks. Looks like this tool should work based on the documentation.

  • SQLRecon is a good tool that finds installs and instances, and tests them for a lot of security holes like blank passwords, etc.

    Lowell


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!

  • not that most tools require UDP 1434 access to find instances. Some ping 1433 TCP for a connection, but named instances don't show up.

    The only way is to really audit services on all Windows machines (or the registry).

Viewing 6 posts - 1 through 5 (of 5 total)

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