One Database, Many Tables???

Last Post 23 Jan 2008 12:18 PM by lojaw. 1 Replies.
AddThis - Bookmarking and Sharing Button
Author Messages
New Member
New Member

22 Jan 2008 12:50 PM
Please help!!

I'm a .NET software developer and I recently joined a new team. Although I have some experience with SQL Server, it's never been my primary responsibility. Anyway, upon joining this team I was given a tour of their SQL Server. Something that didn't sit right with me about how they were utilizing their database server was that every application shared the same database. The DB contains 272 tables for roughly 52 small applications and is 232 GB is size. Again, databases have not been my primary responsibility, but my gut instinct tells me that this is poor database design. My way of thinking is to organize like data into separate database, which in short means to create a database for each application (assuming they don't share the same data).

I've shared my thoughts with my new team manager about how he could improve performance on his SQL Server (by the way he brought up that they are having performance issues). I mentioned the need to start creating new databases for new applications and begin a migration process for the existing applications. He didn't agree with my thinking and wants to continue adding to this one large database.

1) Could someone please either correct or confirm my way of thinking?
2) If my approach is valid, does anyone know of some documentation or book I can point my new manager to for reference as to why we need to change our database utilization? I'm convinced he needs hard evidence to change his way of thinking.

Thank you in advance!

New Member
New Member

23 Jan 2008 12:18 PM
Thank you for the reply!

There is a full backup that occurs every night. That was one of the first questions I asked.

Something else to note is that there is another team that is responsible for the maintanance of the server to include backups, SQL Server performace, and hardware. They are a "reactive" team instead of a "proactive" team, so we have to request them to run any type of performance monitoring. Kind of a bummer, but hey, I don't make the rules. My team is resposible for creating .NET applications and designing the databases to include tables, stored procs, triggers, all that fun stuff. So it's not too bad.

I think requesting a rebuild of the indexes is great place to start. I am almost positive this has never been done. If that doesn't help, then I'll move on to requesting output from perfmon.

Regarding the one database ... I've tried looking for a book or some kind of document that describes proper database design and how to determine when to create mulitple databases. I'm sure I didn't view every book out there on this subject. Do you know of anything I can refer to as reference to help support my point to my manager? Or ... Besides the fact that all of the data is kept in one file and we have to scroll through hundreds of tables to find what we need, can help me point other facts that make a "one database for everything" design a bad idea?

Thank you again for your response and for the congrats on the job.

Acceptable Use Policy