To help us get started tracking our systems, I developed a cool little tool that will use SQL SMO (SQL Management Objects) to “walk” a SQL Server and report on: instances, databases, tables, and columns. This is extensible and with SMO, it’s easy to track any data elements that can be viewed in the SQL Server Management Studio (“SSMS”).
What makes this tool powerful is the search feature in SharePoint 2010. After we walk our SQL Servers and let the indexer run, it’s easy to find a specific column or table across all of our system.
You can download the code and the SharePoint Site template from here. The following will be a step-by-step on how to get this installed and working – you can watch a (no-audio) screencast on YouTube by pressing here.
First of all, this works great on the “free” edition of SharePoint Foundation or any of the other Enterprise editions. Once SharePoint is installed, you need to install the DBWalker site template.
Open up the default site in SharePoint, and press the Site Actions in the upper left corner and then the Site Settings from the pop-up menu.
Under Galleries, press the Solutions link. NOTE: if you don’t see the Solutions link as illustrated next, you are probably not at the top web site so navigate there and try again.
We want to Upload our template but a “feature” (a.k.a. a BUG) of SharePoint is that the Upload button doesn’t show up unless you do some navigation funny stuff. So if your page looks like this:
You need to press the Browse menu-item and then press the Solutions menu-item again. Once you do that, your Upload button should show up and look like this:
Upload the DBWalker.WSP file and make sure you Activate it so it shows up in the new site options.
Back under Site Actions, click on New Site and you should see the DBWalker template as an option. Select that and call your site whatever you want – we’ll use DBWalker for this demo.
Now, you’re ready to get started. On the Server List, just input the DNS (network) name for the SQL Server(s) you want to “walk”. The tool will input the rest of the information such as memory and CPUs.
Once you have your server list complete, you can launch the DBWalker application. You should provide the URL for the site that hosts the DBWalker web site you just created. You can optionally set a true or false parameter to walk other instances on the server. Note that you must have remote registry access for the tool to discover the instances on a given server.
I input one server, the server running the web site and a sample is pasted next and you can see that the tool has input the OSVersion, the Physical Memory, and the Processor Count.
A nice feature of SharePoint 2010 is the ability to link lists (tables under the covers). For our template web site, the main page illustrates this by allowing the user to select an item and the child items listed below are filtered by that item. For example, in the next screen shot, the SharePoint named instance is selected and the Database list is automatically filtered to show only the three databases on that server\instance. Similarly, when the top database is selected, only the tables for that database are listed.
This is not a commercial application but a tool to help manage large SQL Server farms. All lists can be expanded to allow further metadata to be collected either automatically through SMO or through user input. But again, the power of this comes from the Search feature. With SharePoint 2010 search, we can tag the results with custom tags and easily find columns, databases, etc. For example, I searched for “buildversion” and the following screenshot shows the results.