Sottoscrittori non SQL Server
Si applica a: SQL Server
Tramite i Sottoscrittori non SQL Server riportati di seguito è possibile eseguire la sottoscrizione di pubblicazioni snapshot e transazionali utilizzando sottoscrizioni push. Le sottoscrizioni sono supportate per le due versioni più recenti di ogni database elencato utilizzando la versione più recente del provider OLE DB elencato.
La replica eterogenea a Sottoscrittori non SQL Server è deprecata. La pubblicazione Oracle è deprecata. Per spostare dati, creare soluzioni utilizzando Change Data Capture e SSIS.
Attenzione
Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.
Database | Sistema operativo | Provider |
---|---|---|
Oracle | Tutte le piattaforme supportate da Oracle | Provider Oracle OLE DB (fornito da Oracle) |
IBM Db2 | MVS, AS400, Unix, Linux, Windows escluso 9.x | Provider Microsoft Host Integration Server (HIS) OLE DB |
Informazioni sulla versione di Oracle:
SQL Server supporta gli scenari eterogenei seguenti per la replica transazionale e snapshot:
Pubblicazione di dati in Sottoscrittori da SQL Server a non SQL Server.
Pubblicazione di dati da e verso Oracle con le limitazioni seguenti:
Replica | 2016 o versioni precedenti | 2017 o versioni successive |
---|---|---|
Replica da Oracle | Supporta solo Oracle 10g o versioni precedenti | Supporta solo Oracle 10g o versioni precedenti |
Replica verso Oracle | Fino a Oracle 12c | Non supportato |
La replica eterogenea a Sottoscrittori non SQL Server è deprecata. La pubblicazione Oracle è deprecata. Per spostare dati, creare soluzioni utilizzando Change Data Capture e SSIS.
Per informazioni sulla creazione delle sottoscrizioni di Oracle e IBM Db2, vedere Sottoscrittori Oracle e Sottoscrittori IBM Db2.
Considerazioni sui Sottoscrittori non SQL Server
Durante la replica in Sottoscrittori non SQL Server tenere presente quanto segue:
Considerazioni generali
La replica supporta la pubblicazione di tabelle e viste indicizzate come tabelle in Sottoscrittori non SQL Server (le viste indicizzate non possono essere replicate come viste indicizzate).
Quando si crea una pubblicazione con la Creazione guidata nuova pubblicazione e quindi si procede alla relativa abilitazione per i Sottoscrittori non SQL Server mediante la finestra di dialogo Proprietà pubblicazione, il proprietario di tutti gli oggetti del database di sottoscrizione non viene specificato per i Sottoscrittori non SQL Server, mentre per i Sottoscrittori Microsoft SQL Server viene impostato sul proprietario dell'oggetto corrispondente nel database di pubblicazione.
Se una pubblicazione include Sottoscrittori SQL Server e non SQL Server, è necessario abilitarla per i Sottoscrittori non SQL Server prima di creare le sottoscrizioni per i Sottoscrittori SQL Server.
Per impostazione predefinita, gli script generati dall'agente snapshot per i Sottoscrittori non SQL Server utilizzano identificatori non racchiusi tra virgolette nella sintassi
CREATE TABLE
. Pertanto, una tabella pubblicata denominata 'test' viene replicata come 'TEST'. Per usare la stessa combinazione di maiuscole e minuscole della tabella nel database di pubblicazione, specificare il parametro -QuotedIdentifier per l'agente di distribuzione. Il parametro -QuotedIdentifier deve essere usato anche se i nomi degli oggetti pubblicati, ad esempio tabelle, colonne e vincoli, includono spazi o parole riservate nella versione del database nel Sottoscrittore non SQL Server. Per ulteriori informazioni su questo parametro, vedere Agente distribuzione repliche.L'account con il quale viene eseguito l'agente di distribuzione deve disporre di accesso in lettura alla directory di installazione del provider OLE DB.
Per impostazione predefinita, per i Sottoscrittori non SQL Server l'agente di distribuzione usa il valore [(destinazione predefinita)] per il database di sottoscrizione (il parametro -SubscriberDB per l'agente di distribuzione):
Per Oracle, un server include al massimo un database e pertanto non è necessario specificare il database.
Per IBM Db2, il database viene specificato nella stringa di connessione DB2. Per altre informazioni, vedere Creazione di una sottoscrizione per un Sottoscrittore non SQL Server.
Se il server di distribuzione SQL Server viene eseguito su una piattaforma a 64 bit, è necessario utilizzare la versione a 64 bit del provider OLE DB appropriato.
La replica consente di spostare i dati in formato Unicode indipendentemente dalla tabella codici e dalle regole di confronto utilizzate nel server di pubblicazione e nel Sottoscrittore. Quando si esegue la replica tra server di pubblicazione e Sottoscrittori è consigliabile scegliere una tabella codici e regole di confronto compatibili.
Se un articolo viene aggiunto o eliminato da una pubblicazione, sarà necessario reinizializzare le sottoscrizioni dei Sottoscrittori non SQL Server.
I soli vincoli supportati per tutti i Sottoscrittori non SQL Server sono NULL e NOT NULL. I vincoli delle chiavi primarie vengono replicati come indici univoci.
Il valore NULL viene considerato in modo diverso a seconda del database, con conseguenze sulla modalità di rappresentazione dei valori e delle stringhe vuote e dei valori NULL. Ciò a sua volta influisce sul comportamento dei valori inseriti nelle colonne con vincoli univoci definiti. Oracle consente, ad esempio, più valori NULL in una colonna considerata univoca, mentre SQL Server consente un solo valore NULL in una colonna univoca.
Un altro fattore è rappresentato dal modo in cui i valori NULL, le stringhe e i valori vuoti vengono considerati quando la colonna è definita come NOT NULL. Per informazioni sulla risoluzione di questo problema per i Sottoscrittori Oracle, vedere Sottoscrittori Oracle.
I metadati correlati alla replica (tabella di sequenza della transazione) non vengono eliminati dai Sottoscrittori non SQL Server quando la sottoscrizione viene rimossa.
Conformità ai requisiti del database Sottoscrittore
Lo schema e i dati pubblicati devono essere conformi ai requisiti del database nel Sottoscrittore. Se, ad esempio, un database non SQL Server presenta una dimensione massima di riga più piccola di SQL Server, è necessario accertarsi che lo schema e i dati pubblicati non superino tale dimensione.
Le tabelle replicate nei Sottoscrittori non SQL Server adotteranno le convenzioni di denominazione delle tabelle del database del Sottoscrittore.
L'operazione DDL non è supportata per Sottoscrittori non SQL Server. Per altre informazioni sulle modifiche dello schema, vedere Apportare modifiche allo schema nei database di pubblicazione.
Supporto della funzionalità di replica
SQL Server include due tipi di sottoscrizione: push e pull. I Sottoscrittori non SQL Server devono utilizzare le sottoscrizioni push nelle quali l'agente di distribuzione viene eseguito nel server di distribuzione SQL Server.
SQL Server offre due formati di snapshot: in modalità bcp nativa e in modalità carattere. I Sottoscrittori non SQL Server richiedono snapshot in modalità carattere.
I Sottoscrittori non SQL Server non possono utilizzare le sottoscrizioni ad aggiornamento immediato o ad aggiornamento in coda né possono essere nodi in una topologia peer-to-peer.
I Sottoscrittori non SQL Server non possono essere inizializzati automaticamente da un backup.