When I tried to push some schema changes to a database under replication the other day, I came upon the angry red error message:
"Cannot add columns to table 'XXXX' because it is being published for merge replication."
Luckily, in SQL Server 2000, there is a very simple solution to this issue.
1. Open up Enterprise Manager > [Your SQL Server 2000 DB Server] > Replication > Publications > [Your Publication]
2. Right click on [Your Publication] and select "Properties". This should pop up a new dialog.
3. Select the "Filter Columns" tab and you will see a listing of the tables in this publication.
4. Select the table you want to add a column to and select the button "Add Column to Table". This will pop up a new dialog.
5. Enter a column name in the "Column Name" textbox and a column definition in the "Column definition" textbox. For example, if you want to add column TestColumn of type varchar(50):
Column Name: "TestColumn"
Column Definition: "varchar(50) NULL"
You must allow nulls in this column or have a default value.
6. Hit OK and you are done! You will immediately see the new column in your Publisher database, and depending on your replication schema, will see the new column in subscriber databases soon after. In my case, we had a merge replication schema set up and the new column showed up in the subscriber database in less than a minute.
You may also remove columns from tables in a similar manner. When on the "Filter Columns" tab, you can select a column in a table, and the button "Drop Selected Column" will become enabled. You will see a confirmation message when you select this button.
In my research for an answer I also learned that you can run the stored procedures "sp_repladdcolumn" and "sp_repldropcolumn" on the publisher database to get the same results.
Also, if you are working in SQL Server 2005 replication, you can go here to read about schema changes:
http://msdn2.microsoft.com/en-us/library/ms151870.aspx
Hope this helps you out if you are looking at schema changes with replication in the future!
If you've ever had to strong name sign the MS Enterprise Library, you'll find that it is a rather difficult task.
Luckily, this link below is a very detailed and complete explanation of how you do it. I followed these instructions exactly and was able to successfully strongly name the entire library.
http://www.mvwood.com/blogs/blog/archive/2006/06/22/Adventures_in_Strong_Names_with_Enterprise_Library.aspx