Procédure : créer un abonnement pour un Abonné non-SQL Server (programmation Transact-SQL de la réplication)
Le réplication transactionnelle et la réplication de capture instantanée prennent en charge la publication de données vers des Abonnés non-SQL Server. Vous pouvez créer par programme des abonnements par émission de données pour des Abonnés non-SQL Server en utilisant des procédures stockées de réplication. Pour plus d'informations sur les plateformes d'Abonné prises en charge, consultez Abonnés non-SQL Server.
Remarque relative à la sécurité |
---|
Si possible, demandez aux utilisateurs de fournir les informations d'identification de sécurité au moment de l'exécution. Si vous devez stocker ces informations dans un fichier de script, vous devez sécuriser ce fichier pour empêcher tout accès non autorisé. |
Pour créer un abonnement par émission de données pour une publication transactionnelle ou de capture instantanée pour un Abonné non-SQL Server
Installez le fournisseur OLE DB le plus récent pour l'Abonné nonSQL Server au niveau du serveur de publication et du serveur de distribution. Pour connaître les spécifications de réplication pour un fournisseur OLE DB, consultez Abonnés non-SQL Server, Abonnés Oracle, Abonnés IBM DB2.
Dans la base de données de publication sur le serveur de publication, vérifiez que la publication prend en charge les Abonnés non-SQL Server en exécutant sp_helppublication (Transact-SQL).
Si enabled_for_het_sub a la valeur 1, les Abonnés non-SQL Server sont pris en charge.
Si enabled_for_het_sub a la valeur 0, exécutez sp_changepublication (Transact-SQL), en spécifiant enabled_for_het_sub pour @property et true pour @value.
[!REMARQUE]
Avant de remplacer la valeur de enabled_for_het_sub par true, vous devez supprimer tout abonnement existant à la publication. Vous ne pouvez pas affecter la valeur true à enabled_for_het_sub lorsque la publication prend également en charge la mise à jour des abonnements. La modification de enabled_for_het_sub affectera d'autres propriétés de publication. Pour plus d'informations, consultez Abonnés non-SQL Server.
Dans la base de données de publication sur le serveur de publication, exécutez sp_addsubscription (Transact-SQL). Spécifiez @publication, @subscriber, affectez la valeur (default destination) à @destination_db, la valeur push à @subscription_type et la valeur 3 à @subscriber_type (indique un fournisseur OLE DB).
Dans la base de données de publication sur le serveur de publication, exécutez sp_addpushsubscription_agent (Transact-SQL). Spécifiez les éléments suivants :
Les paramètres @subscriber et @publication.
La valeur (default destination) pour @subscriber_db.
Les propriétés des sources de données non-SQL Server pour @subscriber_provider, @subscriber_datasrc, @subscriber_location, @subscriber_provider_string et @subscriber_catalog.
Les informations d'identification Microsoft Windows sous lesquelles l'Agent de distribution est exécuté sur le serveur de distribution pour @job_login et @job_password.
[!REMARQUE]
Les connexions établies à l'aide de l'authentification Windows intégrée utilisent toujours les informations d'identification Windows spécifiées par @job_login et @job_password. L'Agent de distribution crée toujours la connexion locale au serveur de distribution à l'aide de l'authentification intégrée Windows. Par défaut, l'Agent se connecte à l'Abonné à l'aide de l'authentification intégrée Windows.
Valeur 0 pour @subscriber_security_mode et les informations de connexion du fournisseur OLE DB pour @subscriber_login et @subscriber_password.
Une planification du travail de l'Agent de distribution pour cet abonnement. Pour plus d'informations, consultez Procédure : spécifier des planifications de synchronisation (programmation Transact-SQL de la réplication).
Remarque relative à la sécurité Lors de la création d'un abonnement par émission de données sur un serveur de publication avec un serveur de distribution distant, les valeurs fournies pour tous les paramètres, y compris job_login et job_password, sont envoyées au serveur de distribution en texte brut. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée. Pour plus d'informations, consultez Chiffrement des connexions à SQL Server.