FIX: Utenti di controllare il processo di modifica di compensazione nella replica di tipo merge

Traduzione articoli Traduzione articoli
Identificativo articolo: 828637 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato archiviato. L?articolo, quindi, viene offerto ?cosý come Ŕ? e non verrÓ pi¨ aggiornato.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Quando si utilizza la replica di tipo merge, Ŕ possibile si l'agente di merge verifichi gli errori di sincronizzazione se una modifica di inserimento, modifica di un'aggiornamento o una modifica di eliminazione non pu˛ essere applicata in una replica di destinazione per diversi motivi, tra cui una violazione di chiave primaria in server di pubblicazione o in server di sottoscrizione. L'agente di merge invierÓ sempre una compensazione modifica alla replica di origine per annullare la modifica non riuscita. L'agente di merge viene eseguito il processo di modifica compensazione per assicurarsi che dati vengono gestiti in uno stato coerenza e convergent in tutte le repliche. Senza le modifiche di compensazione, i dati possono variare tra le repliche, se si verifica un errore, ad esempio una violazione di chiave primaria. Se i dati variano tra le repliche, si verifica non convergenza dei dati.

Prima di questo hotfix, si Ŕ verificato alcun modo per consentire agli utenti di controllare il processo modifica compensazione. Il processo di modifica di compensazione Ŕ stato gestito internamente dall'agente di merge. PoichÚ questo processo Ŕ stato gestito internamente dall'agente di merge, era difficile la risoluzione per questo motivo si sono verificati determinati conflitti. Inoltre, poichÚ la riga in conflitto Ŕ eliminata dal o annullata in tutte le repliche, i dati della riga viene rimosso dalla topologia intera. Per risolvere questi problemi, Microsoft ha aggiunto una nuova proprietÓ a livello di articolo per la replica che consente agli utenti di controllare il processo di modifica compensazione di tipo merge.

Risoluzione

Informazioni sul Service pack

Per risolvere il problema, ottenere il service pack pi¨ recente per Microsoft SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211Come ottenere il service pack pi¨ recente per SQL Server 2000

Informazioni sull'hotfix

La versione inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o successivi) elencati nella tabella riportata di seguito. Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   Date         Time   Version            Size    File name
   ----------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe      
   25-Jun-2003  01:01  2000.80.818.0      33,340  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll      
   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927  Instdist.sql
   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll      
   01-Apr-2003  02:07                      1,873  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll     
   07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll     
   02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll     
   04-Aug-2003  18:17                    550,780  Procsyst.sql
   22-May-2003  22:57                     19,195  Qfe469571.sql
   06-Sep-2003  01:36                  1,090,932  Replmerg.sql
   06-Sep-2003  07:18  2000.80.858.0     221,768  Replprov.dll     
   06-Sep-2003  07:18  2000.80.858.0     307,784  Replrec.dll      
   06-Sep-2003  00:00                  1,087,150  Replsys.sql
   13-Aug-2003  16:28                    986,603  Repltran.sql
   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll
   05-Aug-2003  21:06                    127,884  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172  Sqldumper.exe    
   19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll
   02-Jul-2003  00:18  2000.80.834.0     180,736  Sqlmap70.dll     
   03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll       
   02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll     
   06-Sep-2003  07:19  2000.80.858.0   7,598,161  Sqlservr.exe     
   25-Jul-2003  21:44  2000.80.845.0     590,396  Sqlsort.dll      
   08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll       
   25-Jun-2003  01:01  2000.80.818.0      33,340  Ssmslpcn.dll     
   01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll     
   01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll     
   01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll     
   31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll          
   02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll      

Nota A causa delle dipendenze fra i file, la funzionalitÓ che contiene i file o l'aggiornamento rapido (hotfix) pi¨ recente pu˛ contenere anche ulteriori file.

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a" di questo articolo.Questo problema Ŕ stato innanzitutto corretto in SQL Server 2000 Service Pack 4.

Informazioni

Questo aggiornamento rapido (hotfix) aggiunge una nuova proprietÓ di articolo a livello compensate_for_errors per pubblicazioni di tipo merge. ╚ possibile impostare questa proprietÓ su true o false. Il valore predefinito per questa proprietÓ Ŕ true. L'impostazione predefinita significa che replica di tipo merge continua a inviare le modifiche di compensazione come in tutte le versioni precedenti e i service pack. Quando questa proprietÓ Ŕ impostata su true e una modifica di inserimento, modifica di un'aggiornamento, o una modifica di eliminazione non pu˛ essere applicata in una replica di destinazione per vari motivi si (una violazione di chiave primaria verifica server di pubblicazione o server di sottoscrizione, ad esempio), l'agente di merge invia una modifica di compensazione alla replica di origine per annullare la modifica.

Quando la proprietÓ compensate_for_errors Ŕ impostata su false e una modifica non pu˛ essere applicata a una replica di destinazione, le azioni di compensazione non vengono rilasciate e la modifica rimane un conflitto fino a quando l'amministratore del database consente di risolvere la condizione di errore. L'agente di merge tenta di replicare la riga in ogni successiva sincronizzazione eseguito finchÚ non viene risolto la condizione di errore.

Livello inferiore gli agenti di sottoscrizione, in particolare per i Sottoscrittori pull non dispongono di questo aggiornamento rapido installato, continuano a funzionare come se la proprietÓ compensate_for_errors fosse impostata su true, anche se Ŕ stato installato questo aggiornamento rapido (hotfix) nel server di pubblicazione e la proprietÓ compensate_for_errors Ŕ impostata su false nel server di pubblicazione. Di conseguenza, gli utenti consigliabile aggiornare tutti i sottoscrittori questo aggiornamento rapido (hotfix) se si desidera utilizzare la funzionalitÓ Ŕ fornita dalla proprietÓ compensate_for_errors nuovo. Questo aggiornamento consente di garantire un funzionamento consistente nella topologia di.

Per SQL Server 2000 Windows CE Edition comportano conflitti di download di sottoscrittori, come in tutte le precedenti SQL Server rilascia, indipendentemente dall'impostazione della proprietÓ compensate_for_errors . Tuttavia, l'impostazione della proprietÓ compensate_for_errors determina la se le modifiche di compensazione vengono generate durante il caricamento di errori e conflitti di sottoscrittori di SQL Server CE un editore di SQL Server (quando aver aggiornato il sia in server di pubblicazione e in computer in cui Ŕ in esecuzione Microsoft Internet Information Services (IIS) per questo aggiornamento rapido (hotfix)).

Questa proprietÓ Ŕ esposta nella sia procedure sp_addmergearticle memorizzati e la procedura di sp_changemergearticle memorizzato come un nuovo parametro denominato @ compensate_for_errors . Questa proprietÓ non Ŕ esposta in SQL Server Enterprise Manager. Questa proprietÓ pu˛ essere modificata per articoli esistenti senza essere reinizializzata. L'utilizzo tipico di questa proprietÓ consiste:
exec sp_addmergearticle @publication = N'mypubl1', @article = N'authors', @source_owner = N'dbo', @source_object = N'authors', @compensate_for_errors='false'
or
exec sp_changemergearticle  @publication='mypubl1',@article='authors', @property='compensate_for_errors',@value='false'

Aggiunte al "sp_addmergearticle" l'argomento della documentazione in linea di SQL Server 2000

sp_addmergearticle [@compensate_for_errors = ]
		  'compensate_for_errors'
La proprietÓ di compensate_for_errors controlla se le azioni di compensazione vengono prese durante la sincronizzazione si verificano errori. Il @ compensate_for_errors parametro viene definito come tipo nvarchar (5) e include l'impostazione predefinita true. Per impostazione predefinita, una modifica che non pu˛ essere applicata a un server di sottoscrizione o a un server di pubblicazione durante la sincronizzazione sempre conduce per azioni di compensazione per invertire la modifica. Tuttavia, un server di sottoscrizione configurato in modo non corretto che genera un errore possono provocare modifiche in altri sottoscrittori e publishers in modo non corretto da stornare. Impostazione della proprietÓ di compensate_for_errors per false disabilita queste azioni di compensazione.

Nota L'impostazione della proprietÓ compensate_for_errors su false potrebbe non di convergenza.

Aggiunte al "sp_changemergearticle" l'argomento della documentazione in linea

sp_changemergearticle [ @publication = ] 'publication' , [ @article = ] 'article' [ , [
		  @property = ] 'property' ] [ , [ @value =] 'value' ]
Riduci questa tabellaEspandi questa tabella
ProprietÓ valori Descrizione
compensate_for_errors TrueAzioni di compensazione vengono eseguite quando si verificano errori durante la sincronizzazione. Questo Ŕ il comportamento predefinito.
compensate_for_errors False Non vengono eseguite le azioni di compensazione

Nota L'impostazione della proprietÓ compensate_for_errors su false potrebbe non di convergenza.

L'istruzione select seguente determina se la proprietÓ compensate_for_errors Ŕ impostata su true o false:
select CASE compensate_for_errors WHEN 0 THEN ?FALSE? ELSE ?TRUE? END from sysmergearticles where name = ?NameOfTheArticle?

poichÚ la proprietÓ compensate_for_errors Ŕ una proprietÓ condivisa per un determinato articolo, il valore deve essere coerente se l'articolo appartiene a pi¨ pubblicazioni (ad esempio con scenari di server di ripubblicazione e partner di sincronizzazione alternativo). Questa condizione viene applicata la maggior parte del tempo. Tuttavia, Ŕ responsabilitÓ dell'utente assicurarsi che la proprietÓ compensate_for_errors abbia lo stesso valore per un determinato articolo in tutte le pubblicazioni che condividono l'articolo. In questo modo, un funzionamento consistente nella topologia di.

Nota Se si dispone per ripristinare un backup di un database replicato in cui Ŕ stato eseguito il backup prima questo aggiornamento rapido (hotfix) Ŕ stato applicato all'istanza di SQL Server, eseguire la procedura di sp_vupgrade_replication memorizzati con i parametri necessari sull'istanza di SQL Server da utilizzare il database ripristinato in fase di replica.

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti Software Microsoft

ProprietÓ

Identificativo articolo: 828637 - Ultima modifica: mercoledý 26 febbraio 2014 - Revisione: 5.3
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Chiavi:á
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB828637 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 828637
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com