Use the atomic bulk materialization procedure

StepsPerforming atomic bulk materialization

  1. Log in to the replicate Replication Server as the system administrator (sa) using isql:

    isql -Usa -Psa_password -SRRS_servername
    

    where:

    • sa is the system administrator user ID.

    • sa_password is the password for the system administrator user ID.

    • RRS_servername is the name of the replicate Replication Server.

  2. Define the subscription at the replicate Replication Server using the following syntax:

    1> define subscription subscription_name
    2> for replication_definition
    3> with replicate at dataserver.database
    4> [where search_conditions]
    5> go 
    

    The dataserver.database name must match the name you used for your replicate database.

  3. Check the subscription at both the primary and replicate Replication Servers. Use the following command to verify that the subscription status is DEFINED:

    1> check subscription subscription_name
    2> for replication_definition
    3> with replicate at dataserver.database
    4> go
    
  4. Lock the primary table to prevent primary transaction activity. This prevents updates to the primary table during materialization.

  5. Unload the subscription data at the primary site using your preferred database unload method to select or dump the data from the primary table.

    NoteWhen unloading subscription data from the primary table, make sure you select only the columns specified in the replication definition and the rows specified in the subscription.

  6. Activate the subscription using the with suspension option at the replicate Replication Server by using the following syntax:

    1> activate subscription subscription_name
    2> for replication_definition
    3> with replicate at dataserver.database
    4> with suspension
    5> go
    
  7. Wait for the subscription to become active at both the primary and replicate Replication Servers. Execute the check subscription command at both the primary and replicate Replication Servers to verify that the subscription status is ACTIVE.

    When the subscription status is ACTIVE at the replicate Replication Server, the database connection for the replicate database is suspended.

  8. Restore the primary table to read-write access (unlock).

  9. Load the subscription data into the replicate database using the bcp utility or the preferred database load utility for your site.

    NoteBefore loading the subscription data into the replicate table, make sure that any data manipulation to be performed by Replication Agent (such as datetime conversion) or by Replication Server function strings is applied to the unload file.

  10. From the replicate Replication Server, resume the database connection for the replicate database:

    1> resume connection
    2> to dataserver.database
    3> go
    
  11. Validate the subscription at the replicate Replication Server:

    1> validate subscription subscription_name
    2> for replication_definition
    3> with replicate at dataserver.database
    4> go
    
  12. Wait for the subscription to become valid at both the primary and replicate Replication Servers, then execute the check subscription command at both the primary and replicate Replication Servers to verify that the status is VALID.

When you complete this procedure, the subscription is created, the replicate data is consistent with the primary data, and replication is in progress.

If replication is not in progress when you complete this procedure, see Chapter 4, “Troubleshooting Replication Agent.”