Initialiser un abonnement transactionnel sans instantanéInitialize a Transactional Subscription Without a Snapshot

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Par défaut, un abonnement à une publication transactionnelle est initialisé avec un instantané, lequel est généré par l'Agent d'instantané et appliqué par l'Agent de distribution.By default, a subscription to a transactional publication is initialized with a snapshot, which is generated by the Snapshot Agent and applied by the Distribution Agent. Dans certains scénarios, comme ceux impliquant de volumineux datasets initiaux, il est préférable d'initialiser un abonnement à l'aide d'une autre méthode.In some scenarios, such as those involving large initial datasets, it is preferable to initialize a subscription using another method. Autres méthodes d'initialisation d'un abonné :Other methods of initializing a Subscriber include:

  • Spécifier une sauvegarde.Specifying a backup. Restaurez la sauvegarde sur l'Abonné, l'Agent de distribution copie ensuite toutes les métadonnées de réplication et procédures système requises.Restore the backup on the Subscriber, and then the Distribution Agent copies any required replication metadata and system procedures. L'initialisation avec une sauvegarde est le moyen le plus rapide pour remettre les données sur l'Abonné, c'est également un moyen pratique, car vous pouvez utiliser n'importe quelle sauvegarde récente si celle-ci a été effectuée après que la publication ait été activée pour l'initialisation avec une sauvegarde.Initializing with a backup is the fastest way to deliver data to the Subscriber and is convenient, because any recent backup can be used if it was taken after the publication was enabled for initialization with a backup.

  • Copier un dataset initial sur l'Abonné par un autre mécanisme, comme l'attachement d'une base de données.Copying an initial dataset to the Subscriber through another mechanism, such as attaching a database. Vous devez vous assurer que les données et schéma corrects se trouvent sur l'Abonné, l'Agent de distribution copie ensuite toutes les métadonnées et procédures système requises.You must ensure the correct data and schema are at the Subscriber, and then the Distribution Agent copies any required metadata and system procedures.

Initialisation d'un abonnement avec une sauvegardeInitializing a subscription with a backup

Une sauvegarde contient une base de données complète ; de ce fait, chaque base de données d'abonnement contiendra une copie complète de la base de données de publication lorsqu'elle est est initialisée :A backup contains an entire database; therefore each subscription database will contain a complete copy of the publication database when it is initialized:

  • La sauvegarde inclut des tables n'étant pas spécifiées comme des articles pour la publication.The backup includes tables not specified as articles for the publication.

  • La sauvegarde inclut toutes les données, même si des filtres de lignes ou de colonnes sont spécifiés sur une table.The backup includes all data, even if row or column filters are specified on a table.

L'administrateur ou l'application est responsable de la suppression de tout objet ou donnée non sollicité une fois que la sauvegarde a été restaurée.It is the responsibility of the administrator or application to remove any unwanted objects or data after the backup has been restored. Dans les synchronisations suivantes, les modifications de données sont répliquées uniquement si elles s'appliquent à des tables spécifiées comme des articles, et que les modifications répondent à tous les critères de filtrage spécifiés.In subsequent synchronizations, data changes are only replicated if they apply to tables specified as articles, and the changes meet any filtering criteria you specified.

Notes

Lors de la restauration d'une sauvegarde, vous devez vous assurer que la sauvegarde provient d'un serveur de publication si vous voulez que l'Abonné se synchronise automatiquement.When restoring a backup, you must ensure that the backup came from the Publisher if you want the Subscriber to automatically synchronize. Les valeurs du numéro séquentiel dans le journal (LSN) de la sauvegarde (utilisées pour définir le point de démarrage de la synchronisation) sont spécifiques au serveur de publication.The log sequence number (LSN) values in the backup (which are used to set the point at which to start synchronizing) are specific to the Publisher.

Pour initialiser un abonnement avec une sauvegardeTo initialize a subscription with a backup

Pour initialiser un abonnement avec une sauvegarde, vous devez d'abord activer l'option lorsque vous créez une publication, puis spécifier des valeurs pour plusieurs options lorsque vous créez un abonnement.To initialize a subscription with a backup, you first must enable the option when you create a publication, and then specify values for a number of options when you create a subscription. Les publications peuvent être activées par le biais de l'Assistant Nouvelle publication ou par programme.Publications can be enabled through the New Publication Wizard or programmatically. Cependant, les valeurs requises pour les options d'abonnement ne peuvent être spécifiées que par programme.However, the values required for the subscription options can only be specified programmatically.

Notes

Si un abonnement est initialisé sans utiliser un instantané, le compte sous lequel fonctionne le service SQL Server sur le serveur de publication doit disposer d'autorisations d'écriture sur le dossier d'instantanés sur le serveur de distribution.If a subscription is initialized without using a snapshot, the account under which the SQL Server service runs at the Publisher must have write permissions on the snapshot folder at the Distributor. Pour plus d'informations sur les autorisations, consultez Replication Agent Security Model.For more information about permissions, see Replication Agent Security Model.

Vérification de la pertinence d'une sauvegardeEnsuring the suitability of a backup

Une sauvegarde est appropriée à l'initialisation d'un abonné si toutes les transactions se produisant après avoir effectué la sauvegarde sont stockées sur le serveur de distribution.A backup is suitable for initializing a Subscriber if all transactions that occur after the backup was taken are stored at the Distributor. La réplication affichera un message d'erreur si la sauvegarde n'est pas appropriée.Replication will display an error message if the backup is not suitable.

Afin de vous assurer que l'utilisation d'une sauvegarde est appropriée, suivez les instructions suivantes :To help ensure that a backup is suitable for use, follow these guidelines:

  • Utilisez la dernière sauvegarde disponible, et si elle est plus ancienne que la période de rétention de distribution maximale, créez une nouvelle sauvegarde avant de tenter d'initialiser un abonnement avec une sauvegarde.Use the latest backup available, and if the latest backup is older than the maximum distribution retention period, create a new backup before attempting to initialize a subscription with a backup. Pour plus d'informations sur la période de rétention, consultez Subscription Expiration and Deactivation.For more information about retention period, see Subscription Expiration and Deactivation.

  • Par défaut, les travaux de nettoyage de la distribution effacent les transactions de plus de 72 heures de la base de données de distribution.By default, the distribution cleanup job clears transactions older than 72 hours from the distribution database. Le nettoyage est basé sur la période de rétention définie pour la publication.Cleanup is based on the retention period set for the publication. Lors de la synchronisation avec d'anciennes sauvegardes, envisagez de désactiver temporairement le travail avant la sauvegarde que vous souhaitez restaurer, puis de le réactiver une fois l'abonnement créé avec succès.When synchronizing with older backups, consider temporarily disabling the job before the backup you would like to restore and re-enabling it after the subscription is successfully created. Cela évite la suppression de transactions de la base de données de distribution pouvant s'avérer nécessaires à la réussite de la synchronisation à partir de la sauvegarde.This prevents removal of transactions from the distribution database that might be needed to synchronize successfully from the backup. Pour obtenir des informations sur l’exécution des travaux de maintenance, consultez Exécuter des travaux de maintenance de réplication (SQL Server Management Studio).For information about running cleanup jobs, see Run Replication Maintenance Jobs (SQL Server Management Studio).

Dans certains cas, vous devez effectuer manuellement des personnalisations dans la base de données restaurée de l'Abonné après avoir configuré des abonnements initialisés par une sauvegarde.In some cases you must manually perform customizations in the restored Subscriber database after setting up subscriptions that are initialized with a backup. En général, les modifications manuelles sur la base de données restaurée de l'Abonné sont nécessaires, si la publication est définie de telle sorte que le contenu de la base de données de l'Abonné est supposé être différent du contenu de la base de données du serveur de publication.In general, manual modifications at the restored Subscriber database are required if the Publication is defined in such a way that the Subscriber database content is expected to be different from the Publisher database content.

  • Les vues indexées sur la base de données restaurée doivent être converties en tables si elles sont publiées en tant qu'articles de la vue indexée sur la table basés sur un journalIndexed-views at the restored database have to be converted to tables if they are published as log-based indexed-view-to-table articles

  • Les colonnes de type timestamp abonnées à la base de données restaurée doivent être converties en colonnes binary(8) : copiez le contenu des tables contenant les colonnes timestamp vers de nouvelles tables avec des schémas correspondants, sauf pour les colonnes timestamp qui sont remplacées par les colonnes binary(8) , supprimez les tables d'origine, et renommez les nouvelles tables avec les mêmes noms que les tables d'origine.Subscribed timestamp columns at the restored database must be converted to binary(8) columns: copy the content of the tables containing timestamp columns to new tables with matching schemas except having binary(8) columns in place of the timestamp columns, drop the original tables, and rename the new tables with the same names as the original tables.

Initialisation d'un abonnement avec une méthode de remplacementInitializing a subscription with an alternative method

Il est possible d'initialiser un abonnement à l'aide de n'importe quelle méthode vous autorisant à copier le schéma de la base de données de publication et les données sur l'Abonné, comme Integration ServicesIntegration Services.It is possible to initialize a subscription using any method that allows you to copy the publication database schema and data to the Subscriber, such as Integration ServicesIntegration Services. Lorsque vous utilisez une méthode de remplacement pour initialiser l'Abonné, les objets de prise en charge de la réplication sont copiés sur l'Abonné.When you use an alternative method to initialize the Subscriber, replication support objects are copied to the Subscriber.

Contrairement à l'initialisation avec une sauvegarde, vous, ou votre application, devez vous assurer que les données et le schéma sont correctement synchronisés au moment d'ajouter l'abonnement.Unlike initializing with a backup, you or your application must ensure the data and schema are properly synchronized at the time you add the subscription. Si par exemple il y a une activité sur le serveur de publication entre le moment où les données et le schéma sont copiés vers l'Abonné et le moment auquel l'abonnement est ajouté, les modifications résultant de cette activité peuvent ne pas être répliquées vers l'Abonné.If, for example, there is activity on the Publisher between the time data and schema are copied to the Subscriber and the time at which the subscription is added, changes resulting from this activity might not be replicated to the Subscriber.

Pour initialiser un abonnement avec une méthode de remplacement, consultez Initialize a Subscription Manually.To initialize a subscription with an alternative method, see Initialize a Subscription Manually.

Voir aussiSee Also

Initialize a SubscriptionInitialize a Subscription