Procedura: Creazione di una sottoscrizione per un Sottoscrittore non SQL Server (programmazione Transact-SQL della replica)

La replica transazionale e la replica snapshot supportano la pubblicazione di dati su Sottoscrittori non SQL Server. È possibile creare sottoscrizioni push a Sottoscrittori SQL Server a livello di programmazione tramite le stored procedure di replica. Per informazioni sulle piattaforme di Sottoscrittori supportate, vedere Sottoscrittori non SQL Server.

Nota sulla sicurezzaNota sulla sicurezza

Se possibile, richiedere agli utenti di immettere le credenziali di protezione in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.

Per creare una sottoscrizione push per una pubblicazione transazionale o snapshot in un Sottoscrittore non SQL Server

  1. Installare il provider OLE DB più recente per il Sottoscrittore non SQL Server sia nel server di pubblicazione che nel server di distribuzione. Per i requisiti di replica relativi a un provider OLE DB, vedere Sottoscrittori non SQL Server, Sottoscrittori Oracle, Sottoscrittori IBM DB2.

  2. Nel database di pubblicazione del server di pubblicazione eseguire sp_helppublication (Transact-SQL) per verificare che la pubblicazione supporti i Sottoscrittori non SQL Server.

    • Se il valore di enabled_for_het_sub è 1, i Sottoscrittori non SQL Server sono supportati.

    • Se il valore di enabled_for_het_sub è 0, eseguire sp_changepublication (Transact-SQL), specificando enabled_for_het_sub per @property e true per @value.

      Nota

      Prima di impostare enabled_for_het_sub su true, è necessario eliminare eventuali sottoscrizioni esistenti nella pubblicazione. Non è possibile impostare enabled_for_het_sub su true se la pubblicazione supporta anche sottoscrizioni aggiornabili. La modifica dell'impostazione enabled_for_het_sub influirà su altre proprietà della pubblicazione. Per ulteriori informazioni, vedere Sottoscrittori non SQL Server.

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_addsubscription (Transact-SQL). Specificare @publication, @subscriber, il valore (default destination) per @destination_db, il valore push per @subscription_type e il valore 3 per @subscriber_type (per indicare un provider OLE DB).

  4. Nel database di pubblicazione del server di pubblicazione eseguire sp_addpushsubscription_agent (Transact-SQL). Specificare le informazioni seguenti:

    • I parametri @subscriber e @publication.

    • Il valore (default destination) per @subscriber_db,

    • Le proprietà dell'origine dati non SQL Server per @subscriber_provider, @subscriber_datasrc, @subscriber_location, @subscriber_provider_string e @subscriber_catalog.

    • Le credenziali di Microsoft Windows utilizzate per l'esecuzione dell'agente di distribuzione nel server di distribuzione per @job_login e @job_password.

      Nota

      Per le connessioni effettuate con l'autenticazione integrata di Windows vengono utilizzate sempre le credenziali di Windows specificate da @job_login e @job_password. L'agente di distribuzione esegue sempre la connessione locale al server di distribuzione utilizzando l'autenticazione integrata di Windows. Per impostazione predefinita, l'agente si connette al Sottoscrittore utilizzando l'autenticazione integrata di Windows.

    • Il valore 0 per @subscriber_security_mode e le informazioni sull'account di accesso del provider OLE DB per @subscriber_login e @subscriber_password.

    • Una pianificazione per il processo dell'agente di distribuzione da eseguire per la sottoscrizione. Per ulteriori informazioni, vedere Procedura: Impostazione di pianificazioni della sincronizzazione (programmazione Transact-SQL della replica).

    Nota sulla sicurezzaNota sulla sicurezza

     Quando si crea una sottoscrizione push in un server di pubblicazione per un server di distribuzione remoto, i valori specificati per tutti i parametri, compresi job_login e job_password, vengono inviati al server di distribuzione come testo normale. È consigliabile crittografare la connessione tra il server di pubblicazione e il server di distribuzione remoto prima di eseguire questa stored procedure. Per ulteriori informazioni, vedere Crittografia delle connessioni a SQL Server.