I'm just finishing up on an app, and I was going to write a performance analysis tool next - but I kinda got put off by Confio Ignite... So - what app is missing from your toolbox? Thought I'd ask here, because it's getting a bit tumbleweed at the minute (!). P.S. Kev - sorry about the tags - they're probably wrong! :/
Matt, I have this silly idea about a simple tool for DBA's: [Please Don't laugh:-) ] You know how documentation sucks. There are different tools that can scan your environment and document your server, Instance and database configuration. But what I need is some kind of tool that I could register all of my servers and when I do something everyday, instead of writing that on excel sheet or on notpad, I will open the tool(Lets call it "**DBA Diary**") then type what changes I made. Make this searchable and also grouped by date, week or whatever is easy for looking back. Also include int he tool any thing that you think will go with this idea(I am sure there are many...like the tool records if there are any configuration changes) So i will take a note whenever I create a new index, or delete a user/create a user why i did that(when I did that would be recorded by the tool) This would certainly help me improve my documentation habits and make my life easier:-)
Great question. For me the ultimate tool, would be a *very* comprehensive security/connectivity troubleshooting tool. This would be a prohibitively large project. It would go something like this: Why can't app x on computer a connect to app y on computer b and tell me *exactly* the steps to resolve it--no ambiguous error messages where you need to spend the afternoon searching the internet. Eg Connectivity 1 Eliminate the basic networking issues. Is the TCP/IP stack installed and working, are dlls missing, services not started, can it ping 127.0.0.1. Can it ping/telnet to the remote computer, are there problems with dns resolution, dns cache, arp. What is the farthest appliance tracert can detect. Is the local windows firewall blocking, the target firewall or a firewall in between. Is it the wire/hardware itself? Is there something wrong with the connection string and what. I remember wasting time troubleshooting connecting to MySQL and found a semicolon missing in the connection string. The error message should have told me cannot connect to the server "mysqluid=root" instead of "cannot connect to server". Security 2 What is the security context from a to b and how is it changed/impersonated along the way. Is kerberos needed, is constrained delegation configured properly. Is there a problem with certificates. Why isn't integrated security working through a firewall? I would want the app to give me explicit options such as: Switch to sql authentication in the connection string or use the security sub-system, create a local account on the sql server that matches exactly the same account for the app pool the Web site is running under. etc...what groups or permissions do I need *exactly*, none of the: you do not have permissions to access... The OS probably does this by design as not to give hackers a step up so you would need to give your app admin permissions so it can do all the necessary checking. I know it is a pipe dream but even a pared-down solution targeting a single protocol and app (SQL server) would be worth more than you can imagine
There are two very useful things missing from my toolbox: (1) Money, with which to buy tools (2) Time. If you can build a tool that sorts out those problems, then... Seriously, though, look to your own strengths before building a tool of some sort. What aspects of the SQL world are you particularly good at? Is it something that can be encapsulated? Alternatively, what problems are you regularly required to solve and that you have some useful scripts for? Would it be a useful thing for others? Can this be "genericised" and then encapsulated?