Sql-server – What does Reinitialize All Subscriptions actually do to the databases

sql-server-2008ssms

I tried to find the answer and came across these MSDN pages but they don't actually explain what happens really:

http://msdn.microsoft.com/en-us/library/ms152771.aspx
http://msdn.microsoft.com/en-us/library/ms189701.aspx

Step by step what does the Reinitialize All Subscriptions option actually do to the database in SQL Server Management Studio 2008?

enter image description here

Best Answer

Initializing or re-initializing a subscription consists of applying (or re-applying) a snapshot of the publication to that subscription.

This consists of dropping subscribing tables at the subscriber, and recreating them containing the same data as the snapshot. The schema of the relevant tables at the subscriber will therefore match the schema at the publication following a re-initialization.

The Snapshot Agent, which lives on the Distributor, generates the snapshot, although when re-initializing a subscription you can opt to use the existing snapshot. The Distribution Agent then reads the snapshot from the snapshot folder and applies it to its subscription. The Distribution Agent lives on the Distributor for push subscriptions, and on the Subscriber for pull subscriptions.