Sql-server – Pros/Cons of using multiple databases vs using a single database

Architecturedatabase-designsql serversql-server-2008

I was working on a new project which has the requirement to use 7 databases, arguing that performance, stability, optimization are more easily implemented.

While I don't agree, I'm having trouble collecting good arguments to use a single database (splitting the tables into logical domains).

One argument I have so far is data integrity (I can't use foreign keys between databases).

What are good pros/cons for using a single or multiple databases?

[summary so far]

Arguments against multiple databases:

  • Losing data integrity (can't use foreign keys over databases)

  • Losing restore integrity

  • Gaining complexity (db users/roles)

  • Small odds server/database will go down

Solutions:

  • Use schemas to separate domains.

  • POC: Use dummy data to prove the point in 7/1 db's execution plans

Best Answer

None of performance, stability, optimization are true. Does anyone have a solid argument or reference article why these would be true?

Resources are not allocated to a database: the SQL Server Instance balances resources so it makes no difference

You lose:

  • data integrity
  • restore integrity (data in DB7 will be later then DB1)

You gain complexity:

  • security (users, roles etc) have to be in all databases
  • you'll have some data that doesn't fit into 1 database nicely

Options:

  • splitting a database onto separate disks can be done with filegroups
  • use schemas to logically separate data (based on other answer)