My project modules are organized in such a way that I have to maintain following Database structure.
I've 5 schemas, each containing 20 to 50 tables. Each schema is associated with one module of the project.
All the tables that are used within more than one modules are kept in "COMMON" schema. Each module takes 2 to 5 months to finish.
So when first module is finished we are opening it for use, and continuing with the second one and so on. Meanwhile real data is being inserted into the finished module's schema. Also table definitions of the finished module's schema might change slightly depending on the bug fixes and suggestions.
I want to be able to backup/restore, synchronize database schema by schema (I think it's called vertical partitioning?)
In DB2 there was a way to put tables to different tablespaces, and backup/restore tablespaces separately.
I'm looking for similar or better solutions for the problem in SQL Server. So Problems:
- How to apply table definition changes to the table that's containing real data.
- Being able to update/change/restore/backup/synchronize database schema by schema
Any kind of advices are greatly welcome.