Share via


Modifiche delle funzionalità di replica di SQL Server 2005

Data aggiornamento: 14 aprile 2006

In questo argomento vengono illustrate le modifiche apportate alle funzionalità di replica già presenti in Microsoft SQL Server 2000. Per informazioni sui miglioramenti apportati alle funzionalità di replica, vedere Miglioramenti delle funzionalità di replica.

[!NOTA] Questo argomento è disponibile nella Guida in linea del programma di installazione e nella documentazione in linea di SQL Server 2005. I collegamenti visualizzati in grassetto nella Guida in linea del programma di installazione si riferiscono ad argomenti disponibili solo nella documentazione in linea.

Modifiche delle funzionalità che interessano tutti i tipi di replica

Di seguito sono indicate le modifiche che interessano tutti i tipi di replica.

Funzionalità Descrizione

Modello di protezione dell'agente di replica

Nelle versioni precedenti di SQL Server, per impostazione predefinita gli agenti vengono eseguiti nel contesto dell'account del servizio SQL Server Agent. Microsoft SQL Server 2005 consente il controllo specifico di ogni account utilizzato per l'esecuzione degli agenti di replica e le connessioni integrate di Microsoft Windows a database e altre risorse. Per ogni agente è possibile specificare un diverso account. Per ulteriori informazioni, vedere Considerazioni di protezione per la replica e Modello di protezione dell'agente di replica. Per informazioni sugli effetti di questa modifica sull'aggiornamento, vedere la sezione relativa al nuovo modello di protezione dell'agente di replica in Aggiornamento dei database replicati e Modifiche di rilievo alla replica di SQL Server 2005.

Gestione sincronizzazione Microsoft Windows

Nelle versioni precedenti di SQL Server l'opzione di sincronizzazione delle sottoscrizioni con Gestione sincronizzazione è attivata per impostazione predefinita. In SQL Server 2005 invece è necessario attivare esplicitamente questa opzione se si desidera utilizzare Gestione sincronizzazione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione mediante Gestione sincronizzazione Microsoft Windows (Gestione sincronizzazione Microsoft Windows).

Visualizzatore conflitti di replica

In SQL Server 2000 il Visualizzatore conflitti di replica è disponibile in forma di pacchetto ridistribuibile. In SQL Server 2005 il visualizzatore non è disponibile come pacchetto separato. Per includere il Visualizzatore conflitti di replica in un'applicazione è necessario installare Microsoft .NET Framework 2.0 nel computer in cui è distribuita l'applicazione e copiare un certo numero di file nel computer. Per ulteriori informazioni, vedere "Altri problemi di aggiornamento della replica" nella Guida in linea di Preparazione aggiornamento. Per ulteriori informazioni su Preparazione aggiornamento, vedere Utilizzo di Preparazione aggiornamento per preparare gli aggiornamenti.

Modifiche delle opzioni dello schema

Le opzioni dello schema consentono di specificare le modalità di replica degli attributi e degli oggetti associati a tabelle, ad esempio indici e vincoli. In SQL Server 2005 sono state modificate le funzionalità di numerose opzioni dello schema. Nella sezione successiva di questo argomento sono disponibili ulteriori informazioni.

Modifiche delle funzionalità delle opzioni dello schema

Nella tabella seguente vengono riepilogate le modifiche apportate alle opzioni dello schema in SQL Server 2005.

[!NOTA] Se in SQL Server 2000 è stata impostata l'opzione dello schema 0x8000, durante l'aggiornamento a SQL Server 2005 l'opzione viene disattivata. Per le opzioni dello schema 0x10 o 0x40, la replica potrebbe creare un numero maggiore di indici in SQL Server 2005 rispetto a quanto avviene in SQL Server 2000.

Opzione Comportamento se l'opzione è impostata in SQL Server 2000 Comportamento se l'opzione è impostata in SQL Server 2005

0x80

Crea un vincolo o un indice. Se è attivata anche l'opzione 0x8000, viene creato il vincolo PRIMARY KEY con un indice. Se l'opzione 0x8000 non è attivata, viene creato solo l'indice nella colonna chiave primaria.

Crea un vincolo PRIMARY KEY nel Sottoscrittore. Vengono inoltre replicati tutti gli indici correlati al vincolo, anche se le opzioni 0x10 e 0x40 non sono attivate (queste opzioni controllano la creazione degli indici per altri casi).

0x4000

Crea un vincolo o un indice. Se è attivata anche l'opzione 0x8000, il vincolo UNIQUE viene creato sotto forma di vincolo con un indice. Se l'opzione 0x8000 non è attivata, viene creato solo l'indice nella colonna.

Crea gli eventuali vincoli UNIQUE nel Sottoscrittore. Vengono inoltre replicati tutti gli indici correlati al vincolo, anche se le opzioni 0x10 e 0x40 non sono attivate (queste opzioni controllano la creazione degli indici per altri casi).

0x8000

Crea vincoli PRIMARY KEY e UNIQUE se sono specificate anche le opzioni 0x80 o 0x4000. Se nessuna delle due opzioni è specificata, l'opzione 0x8000 non produce effetti.

L'opzione non ha alcun effetto.

Modifiche delle funzionalità di replica transazionale

Di seguito sono riportate le modifiche che interessano la replica transazionale.

Funzionalità Descrizione

Proprietà degli oggetti nel Sottoscrittore

Quando si utilizza la Creazione guidata nuova pubblicazione di SQL Server 2005 per creare una pubblicazione, il proprietario degli oggetti creati nel Sottoscrittore corrisponde per impostazione predefinita al proprietario dell'oggetto corrispondente nel server di pubblicazione. Nelle versioni precedenti il proprietario non viene specificato durante la creazione dell'oggetto nel Sottoscrittore e per impostazione predefinita corrisponde al proprietario associato all'account dell'agente di distribuzione utilizzato per la connessione al Sottoscrittore. Questa impostazione è rimasta invariata per la stored procedure sp_addarticle (Transact-SQL).

Modalità di protezione delle sottoscrizioni aggiornabili

Il parametro @security_mode di sp_link_publication definisce la modalità di esecuzione delle chiamate nel server di pubblicazione da parte dei trigger per le sottoscrizioni ad aggiornamento immediato. In SQL Server 2005 le opzioni per questo parametro sono le seguenti:

  • 0: utilizza l'autenticazione di SQL Server con l'account di accesso specificato nella stored procedure come account di accesso e password.
  • 1: utilizza il contesto di protezione, ad esempio l'autenticazione di SQL Server o l'autenticazione integrata di Windows, dell'utente che apporta la modifica nel Sottoscrittore.
  • 2: utilizza un account di accesso al server collegato esistente definito dall'utente.

Nelle versioni precedenti di SQL Server l'opzione 0 viene utilizzata per specificare una chiamata di procedura remota (RPC) dinamica dal Sottoscrittore al server di pubblicazione anziché a un server collegato.

Modifiche delle funzionalità di replica di tipo merge

Di seguito sono riportate le modifiche che interessano la replica di tipo merge.

Funzionalità

Descrizione

Livello di compatibilità della pubblicazione

Nelle versioni precedenti di SQL Server il livello di compatibilità viene incrementato automaticamente se si attivavano funzionalità per le quali è necessario un livello superiore. In SQL Server 2005 è necessario impostare manualmente il livello di compatibilità su 90RTM prima di attivare le funzionalità che richiedono questo livello di compatibilità. Per ulteriori informazioni, vedere la sezione relativa al livello di compatibilità per le pubblicazioni di tipo merge nell'argomento Utilizzo di più versioni di SQL Server in una topologia di replica.

Azioni di compensazione

Nelle versioni precedenti di SQL Server vengono eseguite azioni di compensazione se durante la sincronizzazione vengono rilevati errori quali le violazioni di un vincolo. Anche se in alcuni casi questa funzionalità è utile, in altri potrebbe risultare svantaggiosa. Ad esempio, se in un Sottoscrittore configurato in modo non corretto viene generato un errore, tale errore potrebbe causare l'annullamento delle modifiche nel server di pubblicazione e in tutti gli altri Sottoscrittori.

In SQL Server 2005 il parametro @compensate_for_errors di sp_addmergearticle controlla se vengono eseguite azioni di compensazione. Quando il parametro è impostato su False (valore predefinito), le azioni di compensazione vengono disattivate. Gli errori vengono comunque registrati e nelle operazioni di merge successive vengono eseguiti ulteriori tentativi di applicazione delle modifiche. Benché i dati nelle righe interessate potrebbero non risultare convergenti, non appena viene risolto il problema, verrà applicata la modifica e ripristinata la convergenza dei dati. Quando il parametro è impostato su True, le modifiche che non possono essere applicate in un nodo durante la sincronizzazione determinano azioni di compensazione che annullano le modifiche in tutti gli altri nodi.

ms143733.note(it-it,SQL.90).gifNota:

Se la tabella di origine di un articolo è già inclusa in un'altra pubblicazione, il valore di @compensate_for_errors deve coincidere per entrambi gli articoli. Per le sottoscrizioni pull nei Sottoscrittori in cui è in esecuzione SQL Server 2000 versione 8.00.858 e versioni precedenti (compreso Service Pack 3), le azioni di compensazione verranno eseguite comunque, anche se il parametro @compensate_for_errors è impostato su False.

Tabelle con conflitti

Nelle versioni precedenti di SQL Server la replica di tipo merge crea una tabella dei conflitti per ogni articolo di tabella di una pubblicazione, denominata in base al formato conflict_<ArticleName>. In SQL Server 2005 le informazioni sono contenute in due tabelle, ovvero la tabella MSmerge_conflicts_info e una tabella denominata in base al formato MSmerge_conflict_<PublicationName>_<ArticleName>.

Rimozione dei metadati basata sul periodo di memorizzazione

In SQL Server 2005 viene eseguita la rimozione dei metadati basata sul periodo di memorizzazione introdotta in SQL Server 2000 Service Pack 1. I metadati vengono periodicamente rimossi dalle tabelle di sistema seguenti:

  • MSmerge_contents
  • MSmerge_tombstone
  • MSmerge_genhistory
  • Qualsiasi tabella before-image, se presente. Le tabelle before-image sono presenti se nella pubblicazione è attivata l'opzione di ottimizzazione della sincronizzazione @keep_partition_changes. Vedere la sezione successiva per ulteriori informazioni su questa opzione.

Parametro @keep_partition_changes

Per impostazione predefinita, il parametro @keep_partition_changes è impostato su False nella versione precedente di SQL Server perché comporta l'archiviazione di un numero maggiore di dati nel server di pubblicazione. Tale parametro è ora impostato su True se il livello di compatibilità della pubblicazione è 90RTM o un valore superiore, mentre il parametro @use_partition_groups è impostato su False. Per ulteriori informazioni su queste opzioni, vedere Filtri di riga con parametri.

Vedere anche

Concetti

Compatibilità con le versioni precedenti della replica

Altre risorse

Miglioramenti delle funzionalità di replica

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

14 aprile 2006

Nuovo contenuto:
  • Aggiunta di informazioni sulle modifiche delle funzionalità delle opzioni dello schema.