Hi All, I am looking for some ideas on how to design a table or multiple tables to keep track of outages. At this current time we are keeping track of them on Excel Spread sheets, and there are 3 spread sheets per month.

The database is SQL Server 2005.

In the database that I would put this information, I already have a table that has all of the server names, and various other tables that track other pieces, and some tables that are pure relational.

I am wanting a web front end that has the data kept in the database. I will want the ability to create a page on the fly that will have all of the pieces in it that we will need, and have the ability for multiple people to track progress with it. So when he have a standard outage, I would want the page to be titled with standard outage and the date. If it was a special one I would want it to show what is special about (probably fewer servers on it) and a date. All of these I would want to keep in the database. Now for the look, We have a few hundred servers, and we are building new ones constantly and old ones go away. We have them all over the world. However, pretty confined to 6 time-zones. So those are done at different times of day, but all on the same day in our time-zone. I can build a table to show those times, and relate servers to time-zones. We also have Virtual Machines on hosts, which I have tracked with two separate tables. Now for each server I would want to track with about 7 different phrases what phase in the patching (Outage) they are in. So I can create a table that has those phrases. This table of course would need to keep track of these phrases (relational of course) per outage. Also if there are any problems I would like to track that as well (maybe a separate table).

So my main question is how to design the table(s) that would be able to hold all of the servers, and all of the different outages. Both the outages, and the servers would keep growing, so I would need to have triggers or stored-procedures that would add one or the other probably.

I love having stuff happen on the fly (dynamically). I would suggest creating either a view linking all the required tables together that is then published to the user in a web page format (inert web developer here...) or a stored procedure doing the same.

I personally prefer building stored procedure to do the required joins and filtering (makes life easier to change the output or processing in the back end without having to rebuild the front end).