FIX: Si ricevono messaggi di errore di memoria insufficiente quando si utilizza la replica di tipo merge con sincronizzazione tramite il Web in SQL Server 2005 o in SQL Server 2008

Traduzione articoli Traduzione articoli
Identificativo articolo: 974660 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Utilizzare merge replica di SQL Server 2005 o replica SQL Server 2008 merge con una sincronizzazione tramite il Web basato su server di sottoscrizione. Si verifica una perdita di memoria dopo ripetute sincronizzazioni ed è possibile che vengano visualizzati messaggi di errore "memoria esaurita" dopo un periodo di tempo. Questo diventa evidente quando il processo host non viene riavviato per un lungo periodo di tempo, ad esempio quando l'agente di merge (Replmerg.exe) viene utilizzato con l'opzione-opzione continua o quando viene specificato il parametro continuo nel profilo di agente applicato all'agente. Questo problema può riguardare anche un'applicazione RMO o servizio sviluppati che viene eseguito in un ciclo di sincronizzazione durante l'esecuzione dell'applicazione per diversi giorni senza uscire da.

Cause

Diversi oggetti interni sono perso durante ogni sincronizzazione.

Risoluzione

SQL Server 2005 Service Pack 3

La correzione di questo problema è stata rilasciata prima nell'aggiornamento cumulativo 6 per SQL Server 2005 Service Pack 3. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
974648Pacchetto di aggiornamento cumulativo 6 per SQL Server 2005 Service Pack 3
Nota Poiché le generazioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutte le correzioni di protezione fornite con SQL Server 2005 precedente correggere rilascio. Si consiglia di considerare l'applicazione alla versione più recente di correzione che contiene questo aggiornamento rapido (hotfix). Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
960598SQL Server 2005 versioni rilasciate dopo il rilascio di SQL Server 2005 Service Pack 3.
Microsoft SQL Server 2005 gli hotfix vengono creati per specifici i service pack di SQL Server. È necessario applicare un hotfix di SQL Server 2005 Service Pack 3 per un'installazione di SQL Server 2005 Service Pack 3. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel prossimo service pack di SQL Server.

La versione di SQL Server 2008

Importante Se si esegue la versione di SQL Server 2008, è necessario installare questa correzione.

La correzione di questo problema è stato rilasciato per la prima volta nel 8 aggiornamento cumulativo. Per ulteriori informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
975976Pacchetto di aggiornamento cumulativo 8 per SQL Server 2008
Nota Poiché le generazioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutte le correzioni di protezione fornite con SQL Server 2008 precedente correggere rilascio. Si consiglia di considerare l'applicazione alla versione più recente di correzione che contiene questo aggiornamento rapido (hotfix). Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
956909Versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008

SQL Server 2008 Service Pack 1

Importante Se si esegue SQL Server 2008 Service Pack 1, è necessario installare questa correzione.

La correzione di questo problema è stata rilasciata prima nell'aggiornamento cumulativo 5 per SQL Server 2008 Service Pack 1. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
975977Pacchetto di aggiornamento cumulativo 5 per SQL Server 2008 Service Pack 1
Nota Poiché le generazioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutte le correzioni di protezione fornite con SQL Server 2008 precedente correggere rilascio. Si consiglia di considerare l'applicazione alla versione più recente di correzione che contiene questo aggiornamento rapido (hotfix). Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
970365Versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 aggiornamenti rapidi vengono creati per specifici i service pack di SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 1 per un'installazione di SQL Server 2008 Service Pack 1. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel prossimo service pack di SQL Server.

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".

Workaround

Per ovviare al problema, utilizzare uno dei metodi descritti di seguito:

Metodo 1

Se si utilizza un agente di merge in modalità continua, interrompere il processo dell'agente di merge periodicamente e avviare di nuovo.

Ad esempio errori "memoria esaurita" dopo cinque giorni e l'agente di merge pianificata come un processo. Quindi, è necessario pianificare un nuovo processo SQL Server Agent chiamare sp_stop_job seguita da sp_start_job specificando il nome di processo Merge Agent, passa ogni five days processo interessato. Quando si arresta il processo dell'agente di merge (Replmerg.exe), verrà rilasciata alcuna perdita di memoria all'interno di spazio di memoria del processo.

Per ulteriori informazioni sull'utilizzo dell'opzione-continua dell'agente di merge, vedere il seguente sito Web MSDN (informazioni in lingua INGLESE):
http://msdn.microsoft.com/en-us/library/ms147839.aspx

sp_stop_jobhttp://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx

sp_start_jobhttp://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx

Metodo 2

Se si utilizza l'agente di merge da un processo, è possibile configurare utilizzando altri passaggi invece di utilizzare il parametro continuo logica di loop manuale all'interno del processo. Anziché il processo di agente un merge loop internamente continuo continuamente, pianificare l'agente di merge come un passaggio di processo si ripete su base frequente such as una volta al minuto. Il processo terminerà tra i tentativi e ciò consente di liberare qualsiasi memoria persa.
Modificare il processo in modo da ripetere i passaggi in un ciclo con una pausa tra ripete l'agente di merge.
  1. Dopo il passaggio [3] "rilevamento chiusura agenti senza registrazione,"aggiunta un nuovo passaggio [4] denominato"Loop Riprova indefinito." Impostare il tipo TSQL e il comando "waitfor ritardo" 0: 00: 05 ' ", questo ritardo TSQL fornirà una pausa 5 secondo cui è possibile configurare come un intervallo di polling in modo che l'agente di merge verrà effettuare una breve pausa tra le esecuzioni e non eseguire costantemente. Nella scheda avanzata è necessario specificare il "Success azione" come "Go to agente Esegui passaggio [2]" e "Failure azione"as"go al passaggio [2] Esegui agente".
  2. Modifica passaggio [2] Esegui agente per garantire che il ciclo di passaggio [4] viene raggiunto. Nella scheda avanzata della passaggio [2], impostare operazione riusciti su "Vai al passaggio: Loop Riprova indefinito [4]" e impostare l'azione di errore su "Vai al passaggio successivo."
  3. Modifica passaggio [3] "Rileva problemi agenti senza registrazione arresto del sistema" per assicurarsi che viene raggiunto il ciclo di passaggio [4]. Nella scheda avanzata della passaggio [3], impostare il successo azione, "Vai al passaggio successivo". È inoltre possibile decidere se si desidera che il passaggio [3] Errore azione da impostare come "Vai al passaggio successivo"o "chiusura processo completato con errori." Se è configurato per uscire, visualizzerà l'errore di processo in Monitoraggio replica e monitoraggio del processo. Se è configurato in caso di errore per passare al quarto passaggio di ciclo, l'agente di merge può eseguire nuovamente a tempo indeterminato e gli errori registrati per un periodo di tempo indefinito.

Metodo 3

Allo stesso modo se si utilizza un'applicazione RMO per chiamare il metodo MergeSynchronizationAgent.Synchronize() che sincronizza il database sottoscrittore in un ciclo, arrestare e riavviare il processo periodicamente per liberare qualsiasi memoria cui perdita a causa di questo problema.
Per ulteriori informazioni su questo oggetto e un metodo, vedere il seguente sito Web MSDN (informazioni in lingua INGLESE): http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.replication.mergesynchronizationagent.synchronize(SQL.90).aspx

Riferimenti

Per ulteriori informazioni su come utilizzare il - opzione continua sull'agente di merge, visitare il seguente sito Web MSDN (informazioni in lingua INGLESE):
http://msdn.microsoft.com/en-us/library/ms147839.aspx

Per ulteriori informazioni sulle procedure sp_stop_job memorizzati, visitare il seguente sito Web MSDN (informazioni in lingua INGLESE):
http://http://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx

Per ulteriori informazioni sulle procedure sp_start_job memorizzati, visitare il seguente sito Web MSDN (informazioni in lingua INGLESE):
http://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx

Per ulteriori informazioni su come ottenere SQL Server 2005 Service Pack 3, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
913089Come ottenere il service pack più recente per SQL Server 2005
Per ulteriori informazioni sulle nuove funzionalità di SQL Server 2005 Service Pack 3 (SP3) e sui miglioramenti apportati in SQL Server 2005 SP3, visitare il seguente sito Web Microsoft:
http://go.microsoft.com/fwlink/?LinkId=131442
Per ulteriori informazioni su schema di denominazione degli aggiornamenti di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
822499Nuovo schema di denominazione per i pacchetti di aggiornamento software Microsoft SQL Server
Per ulteriori informazioni sulla terminologia di aggiornamento software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Proprietà

Identificativo articolo: 974660 - Ultima modifica: lunedì 2 novembre 2009 - Revisione: 3.2
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Chiavi: 
kbmt kbsurveynew kbexpertiseadvanced kbqfe kbfix KB974660 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: 974660
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.

Invia suggerimenti

 

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