Perhaps Olu knows of a way to do this, but if you need to alter a table you need to use sp_repladdcolumn or sp_dropcolumn which works great for adding or dropping columns. However, if you need to change a column - perhaps extend a varchar(10) to a varchar(30) column, you must drop the subscription and article, make the change, add the article back. If you were able to take your System down during this time, life is great. If you were not able to take your system down, then you now have a window for data loss during the time that the table was not subscribed. To eliminate the possiblity for data loss, you must issue a new snapshot, or employ some form of "back-fill"strategy to compensate for this.
Has anyone been able to work around this scenario?