Change That Schema Safely!!!
Whenever a product requires extending the schema great caution must be taken. If something goes wrong during this process you can have long last problems. Below are some guidelines that I like to follow when going through such a process.
Needless to say you really should have at least two if not three environments. Production, Integration, and Development. In my eyes the Dev env. is a free for all. The Integration env. should closely mirror your Production env. Last but not least is your actual Production env., this is it your real network that users depend on (even though they don't seem to care when it's up and running just fine).
- Log on to the Domain Controller serving the Schema Master FSMO role
- Resolve any outstanding replication issues:
repadmin /replsummary /bydst /bysrc /sort:delta
- Back up the system state on the Schema Master
- Disable outbound replication on the Schema Master:
repadmin /options <schemamasterdcname> +DISABLE_OUTBOUND_REPL
- Perform the extension
- Verify there were no errors; if so, restore the Schema Master from the system state backup
- Re-enable outbound replication:
repadmin /options <schemamasterdcname> -DISABLE_OUTBOUND_REPL
- Schema updates will flow. You can run: 'repadmin /showreps <dcname>' to get a look at the status of any DC's replication with their immediate partners