Risolvi problemi

Controlla se la tua domanda o il tuo problema è già stato risolto in una delle seguenti pagine:

Gli argomenti di questa pagina includono:

Backup e ripristino

Problema Risoluzione dei problemi
Non puoi visualizzare lo stato dell'operazione corrente. La console Google Cloud segnala solo l'esito positivo o negativo al termine dell'operazione. Non è progettata per mostrare avvisi o altri aggiornamenti.

Esegui il comando gcloud sql operations list per elencare tutte le operazioni per l'istanza Cloud SQL specificata.

Vuoi sapere chi ha eseguito un'operazione di backup on demand. L'interfaccia utente non mostra l'utente che ha avviato un'operazione.

Cerca l'utente nei log e filtra per testo. Potresti dover utilizzare gli audit log per le informazioni private. I file di log pertinenti includono:

  • cloudsql.googleapis.com/sqlagent.out
  • cloudsql.googleapis.com/sqlserver.err
  • Se Cloud Audit Logs è abilitato e disponi delle autorizzazioni necessarie per visualizzarli, potrebbe essere disponibile anche cloudaudit.googleapis.com/activity.
Dopo aver eliminato un'istanza, non puoi eseguirne il backup.

Dopo l'eliminazione definitiva di un'istanza, non è possibile recuperare i dati. Tuttavia, se l'istanza viene ripristinata, vengono ripristinati anche i backup. Per ulteriori informazioni sul recupero di un'istanza eliminata, consulta Backup di recupero.

Se hai eseguito un'operazione di esportazione, crea una nuova istanza, quindi esegui un'operazione di importazione per ricreare il database. Le esportazioni vengono scritte in Cloud Storage e le importazioni vengono lette da lì.

Un backup automatico è bloccato per molte ore e non può essere annullato. I backup possono richiedere molto tempo, a seconda delle dimensioni del database.

Se devi davvero annullare l'operazione, puoi chiedere all' assistenza clienti di force restart l'istanza.

Un'operazione di ripristino può non riuscire quando non esistono uno o più utenti a cui viene fatto riferimento nel file di dump SQL. Prima di ripristinare un dump SQL, tutti gli utenti del database che sono proprietari degli oggetti o a cui sono state concesse autorizzazioni per gli oggetti nel database di cui è stato eseguito il dump devono esistere nel database di destinazione. In caso contrario, l'operazione di ripristino non riesce a ricreare gli oggetti con le autorizzazioni o la proprietà originali.

Crea gli utenti del database prima di ripristinare il dump SQL.

Vuoi aumentare il numero di giorni in cui puoi conservare i backup automatici da 7 a 30 o più giorni. Puoi configurare il numero di backup automatici da conservare, ma non puoi conservarne un numero inferiore a quello predefinito (sette). I backup automatici vengono eliminati regolarmente in base al valore di conservazione configurato. Purtroppo, ciò significa che i backup attualmente visibili sono gli unici backup automatici da cui puoi eseguire il ripristino.

Per conservare i backup a tempo indeterminato, puoi creare un backup on demand, poiché non vengono eliminati come i backup automatici. I backup on demand rimangono a tempo indeterminato. In altre parole, rimangono finché non vengono eliminate o non viene eliminata l'istanza a cui appartengono. Poiché questo tipo di backup non viene eliminato automaticamente, può influire sulla fatturazione.

Un backup automatico non è riuscito e non hai ricevuto una notifica via email. Per fare in modo che Cloud SQL ti invii una notifica sullo stato del backup, configura un avviso basato su log.
Non puoi ripristinare l'istanza utilizzando il comando Transact-SQL RESTORE o SQL Server Management Studio (SSMS). Cloud SQL non supporta il ripristino delle istanze tramite SSMS. Per ripristinare l'istanza, esegui il comando gcloud sql import.

Clona

Problema Risoluzione dei problemi
La clonazione non è riuscita e viene restituito constraints/sql.restrictAuthorizedNetworks errore. L'operazione di clonazione è bloccata dalla configurazione Authorized Networks. I Authorized Networks sono configurati per gli indirizzi IP pubblici nella sezione Connettività della console Google Cloud e la clonazione non è consentita per via di considerazioni sulla sicurezza.

Se puoi, rimuovi tutte le voci Authorized Networks dall'istanza Cloud SQL. In caso contrario, crea una replica senza voci Authorized Networks.

Messaggio di errore: Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges. Please allocate new ranges for this service provider. Help Token: [help-token-id].

Stai tentando di utilizzare la console Google Cloud per clonare un'istanza con un indirizzo IP privato, ma non hai specificato l'intervallo IP allocato che vuoi utilizzare e l'istanza di origine non viene creata con l'intervallo specificato. Di conseguenza, l'istanza clonata viene creata in un intervallo casuale.

Utilizza gcloud per clonare l'istanza e fornire un valore per il parametro --allocated-ip-range-name
. Per maggiori informazioni, consulta la pagina relativa alla clonazione di un'istanza con IP privato.

Connetti

Problema Risoluzione dei problemi
Aborted connection. Il problema potrebbe essere:
  • Instabilità Networking.
  • Nessuna risposta ai comandi keep-alive TCP (il client o il server non risponde, probabilmente sovraccarica)
  • La durata della connessione del motore del database è stata superata e il server termina la connessione.

Le applicazioni devono tollerare gli errori di rete e seguire le best practice come il pool di connessioni e i nuovi tentativi. La maggior parte dei pooler di connessioni rileva questi errori dove possibile. In caso contrario, l'applicazione deve riprovare o l'applicazione non riesce.

Per riprovare la connessione, consigliamo i seguenti metodi:

  1. Backoff esponenziale: Aumenta in modo esponenziale l'intervallo di tempo tra un nuovo tentativo e l'altro.
  2. Aggiungi anche un backoff casuale.

La combinazione di questi metodi consente di ridurre la limitazione.

Creare istanze

Problema Risoluzione dei problemi
Messaggio di errore: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]. Prova a creare di nuovo l'istanza Cloud SQL.
Messaggio di errore: Failed to create subnetwork. Required 'compute.projects.get' permission for PROJECT_ID. Quando crei un'istanza utilizzando un indirizzo IP privato, viene creato un account di servizio just-in-time utilizzando l'API Service Networking. Se hai abilitato solo di recente l'API Service Networking, l'account di servizio potrebbe non essere creato e la creazione dell'istanza non riesce. In questo caso, devi attendere la propagazione dell'account di servizio in tutto il sistema o aggiungerlo manualmente con le autorizzazioni richieste.

Esporta

Problema Risoluzione dei problemi
HTTP Error 409: Operation failed because another operation was already in progress. Esiste già un'operazione in attesa per l'istanza. È consentita una sola operazione alla volta. Prova la richiesta dopo il completamento dell'operazione attuale.
HTTP Error 403: The service account does not have the required permissions for the bucket. Assicurati che il bucket esista e che l'account di servizio per l'istanza Cloud SQL (che sta eseguendo l'esportazione) abbia il ruolo Storage Object Creator (roles/storage.objectCreator) per consentire l'esportazione nel bucket. Consulta Ruoli IAM per Cloud Storage.
Vuoi che le esportazioni siano automatizzate. Cloud SQL non fornisce un modo per automatizzare le esportazioni.

Puoi creare il tuo sistema di esportazione automatizzato utilizzando prodotti Google Cloud come Cloud Scheduler, Pub/Sub e Cloud Functions, come in questo articolo sull' automazione dei backup.

Flag

Problema Risoluzione dei problemi
Cloud SQL per SQL Server non supporta la modifica del fuso orario di un'istanza esistente.

In Cloud SQL, SQL Server supporta l'impostazione del fuso orario di una nuova istanza, ma non di un'istanza esistente.

In Cloud SQL per SQL Server, puoi utilizzare la funzione AT TIME ZONE per le conversioni temporali e altro ancora. Per informazioni su questa funzione, consulta la pagina AT TIME ZONE (Transact-SQL).

Alta disponibilità

Problema Risoluzione dei problemi
Non puoi trovare le metriche per un failover manuale. Nelle metriche vengono presi in considerazione solo i failover automatici.
Le risorse dell'istanza Cloud SQL (CPU e RAM) hanno quasi raggiunto il 100% di utilizzo, causando l'arresto dell'istanza ad alta disponibilità. La dimensione della macchina dell'istanza è troppo piccola per il caricamento.

Modifica l'istanza per eseguire l'upgrade a una dimensione della macchina più grande e ottenere più CPU e memoria.

Importazione

Problema Risoluzione dei problemi
HTTP Error 409: Operation failed because another operation was already in progress. Esiste già un'operazione in attesa per l'istanza. È consentita una sola operazione alla volta. Prova la richiesta dopo il completamento dell'operazione attuale.
L'operazione di importazione sta richiedendo troppo tempo. Troppe connessioni attive possono interferire con le operazioni di importazione.

Chiudi le operazioni inutilizzate. Controlla l'utilizzo di CPU e memoria dell'istanza Cloud SQL per assicurarti che ci siano molte risorse disponibili. Il modo migliore per garantire il numero massimo di risorse per l'importazione è riavviare l'istanza prima di iniziare l'operazione.

Un riavvio:

  • Chiude tutte le connessioni.
  • Termina qualsiasi attività che potrebbe consumare risorse.
Un'operazione di importazione può non riuscire se uno o più utenti a cui viene fatto riferimento nel file di dump non esistono. Prima di importare un file di dump, tutti gli utenti del database che sono proprietari degli oggetti o a cui sono state concesse autorizzazioni per gli oggetti nel database di cui è stato eseguito il dump devono esistere nel database di destinazione. In caso contrario, l'operazione di importazione non ricrea gli oggetti con le autorizzazioni o la proprietà originali.

Crea gli utenti del database prima dell'importazione.

Mancata corrispondenza LSN L'ordine di importazione dei backup dei log delle transazioni non è corretto o la catena dei log delle transazioni è interrotta.
Importa i backup del log delle transazioni nello stesso ordine indicato nella tabella del set di dati di backup.
Interrompi A troppo presto Questo errore indica che il primo log nel file di log delle transazioni è successivo al timestamp di StopAt. Ad esempio, se il primo log nel file di log delle transazioni è 2023-09-01T12:00:00 e il campo StopAt ha il valore 2023-09-01T11:00:00, Cloud SQL restituisce questo errore.
Assicurati di utilizzare il timestamp StopAt e il file di log delle transazioni corretti.

Server collegati

Messaggio di errore Risoluzione dei problemi
Msg 7411, Level 16, State 1, Line 25

Server 'LINKED_SERVER_NAME' is not configured for DATA ACCESS.
L'opzione DataAccess è disattivata. Esegui questo comando per abilitare l'accesso ai dati:
EXEC sp_serveroption
    @server='LINKED_SERVER_NAME',
    @optname='data access',
    @optvalue='TRUE'

Sostituisci LINKED_SERVER_NAME con il nome del server collegato.

Access to the remote server is denied because no login-mapping exists. (Microsoft SQL Server, Error: 7416) Se riscontri questo problema mentre stabilisci una connessione criptata, devi provare un altro metodo per fornire l'ID utente quando accedi al server collegato. Per farlo, esegui questo comando:
EXEC master.dbo.sp_addlinkedserver
   @server = N'LINKED_SERVER_NAME',
   @srvproduct= N'',
   @provider= N'SQLNCLI',
   @datasrc= N'TARGET_SERVER_ID',
   @provstr= N'Encrypt=yes;TrustServerCertificate=yes;User ID=USER_ID'

Sostituisci quanto segue:

  • LINKED_SERVER_NAME con il nome del server collegato.
  • TARGET_SERVER_ID con il nome del server di destinazione o l'indirizzo IP e il numero di porta del server di destinazione.
  • USER_ID con l'utente che esegue l'accesso.

Logging

Problema Risoluzione dei problemi
Log di controllo non trovati. I log di accesso ai dati vengono scritti solo se l'operazione è una chiamata API autenticata basata sull'utente che crea, modifica o legge i dati creati dall'utente oppure se l'operazione accede a file di configurazione o metadati delle risorse.
Informazioni sulle operazioni non trovate nei log. Vuoi trovare ulteriori informazioni su un'operazione.

Ad esempio, se un utente è stato eliminato, ma non riesci a scoprire chi lo ha fatto. I log mostrano l'operazione avviata, ma non forniscono altre informazioni. Per registrare le informazioni che consentono l'identificazione personale (PII) dettagliate e personali, devi abilitare l'audit logging.

Alcuni log sono filtrati dal log error.log di un'istanza Cloud SQL per SQL Server. I log filtrati includono i log di AD senza timestamp e includono: Login failed for user 'x'. Reason: Token-based server access validation failed with an infrastructure error. Login lacks connect endpoint permission. [CLIENT: 127.0.0.1]. Questi log vengono filtrati perché possono causare confusione.
I file di log sono difficili da leggere. Preferisci visualizzare i log in formato json o text.Per scaricare i log, puoi utilizzare il comando gcloud logging read insieme ai comandi di post-elaborazione di Linux.

Per scaricare i log in formato JSON:

gcloud logging read \
"resource.type=cloudsql_database \
AND logName=projects/PROJECT_ID \
/logs/cloudsql.googleapis.com%2FLOG_NAME" \
--format json \
--project=PROJECT_ID \
--freshness="1d" \
> downloaded-log.json
    

Per scaricare i log come TEXT:

gcloud logging read \
"resource.type=cloudsql_database \
AND logName=projects/PROJECT_ID \
/logs/cloudsql.googleapis.com%2FLOG_NAME" \
--format json \
--project=PROJECT_ID \
--freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) \
| .textPayload' \
--order=asc
> downloaded-log.txt
   

Gestione delle istanze

Problema Risoluzione dei problemi
L'archiviazione temporanea ha aumentato l'archiviazione automatica. L'archiviazione automatica è abilitata.

Il riavvio elimina i file temporanei, ma non riduce lo spazio di archiviazione. Solo l' assistenza clienti può reimpostare la dimensione dell'istanza.

È in corso l'eliminazione automatica dei dati. Molto probabilmente uno script è in esecuzione da qualche parte nel tuo ambiente.

Controlla nei log al momento dell'eliminazione e verifica se è presente uno script non autorizzato in esecuzione da una dashboard o da un altro processo automatizzato.

Impossibile eliminare l'istanza. Potresti visualizzare il messaggio di errore ERROR: (gcloud.sql.instances.delete) HTTP Error 409: The instance or operation is not in an appropriate state to handle the request oppure l'istanza potrebbe avere uno stato di flag INSTANCE_RISKY_FLAG_CONFIG.

Ecco alcune possibili spiegazioni:

  • È in corso un'altra operazione. Le operazioni di Cloud SQL non vengono eseguite in contemporanea. Attendi il completamento dell'altra operazione.
  • L'avviso INSTANCE_RISKY_FLAG_CONFIG viene attivato ogni volta che viene utilizzato almeno un flag beta. Rimuovi le impostazioni del flag rischioso e riavvia l'istanza
L'istanza è bloccata a causa di grandi dimensioni di dati temporanei. Il sistema può creare molte tabelle temporanee contemporaneamente, a seconda delle query e del carico.

Purtroppo, il file ibtmp1 può essere ridotto con metodi diversi dal riavvio del servizio.

Un'opzione di mitigazione è creare la tabella temporanea con ROW_FORMAT=COMPRESSED, in modo che venga archiviata in spazi tabelle per ogni tabella nella directory dei file temporanei. Tuttavia, lo svantaggio è costituito dai costi delle prestazioni associati alla creazione e alla rimozione di uno spazio tabella file per tabella per ogni tabella temporanea.

Errore irreversibile durante l'upgrade. I log potrebbero rivelarne di più, ma in ogni caso potrebbe essere necessaria l'assistenza clienti per forzare la ricreazione dell'istanza.
L'istanza è bloccata al riavvio dopo aver esaurito lo spazio su disco. La funzionalità di aumento automatico dello spazio di archiviazione non è abilitata.

Se l'istanza esaurisce lo spazio di archiviazione e la funzionalità di aumento automatico dello spazio di archiviazione non è abilitata, l'istanza passa alla modalità offline. Per evitare questo problema, puoi modificare l'istanza in modo da abilitare l'aumento automatico dello spazio di archiviazione.

L'istanza principale on-premise è bloccata. Google Cloud non può aiutarti con le istanze che non si trovano in Cloud SQL.
Arresto lento al riavvio. Quando un'istanza si arresta, eventuali connessioni in sospeso che non terminano entro 60 secondi rendono sporco l'arresto.

Se le connessioni durano meno di 60 secondi, è possibile evitare la maggior parte degli arresti sporchi, incluse le connessioni dal prompt dei comandi del database. Se tieni queste connessioni aperte per ore o giorni, gli arresti possono essere sporchi.

Impossibile eliminare un utente. È probabile che l'utente contenga oggetti nel database che dipendono da questo. Devi rilasciare questi oggetti o riassegnarli a un altro utente.

Scopri quali oggetti dipendono dall'utente, quindi rilasciali o riassegnali a un utente diverso.

Questo thread su Stack Exchange spiega come trovare gli oggetti di proprietà dell'utente.
Alcune query sono lente. Le query possono essere lente per molti motivi, principalmente a causa di aspetti specifici del database. Uno dei motivi che può influire su Cloud SQL è la latenza di rete, quando la risorsa di origine (writer o lettore) e la risorsa di destinazione (Cloud SQL) si trovano in regioni diverse.

In particolare, consulta i suggerimenti generali per le prestazioni.

Per inserimenti, aggiornamenti o eliminazioni lenti dei database, considera queste azioni:

  • Controlla le località del Writer e del database: l'invio di dati a lunga distanza introduce latenza.
  • Controlla la posizione del lettore e del database; la latenza influisce sulle prestazioni di lettura anche più che su quelle di scrittura

Per ridurre la latenza, il consiglio è quello di individuare le risorse di origine e di destinazione nella stessa regione.

È indicato che la memoria è insufficiente, ma non è indicato dai grafici di monitoraggio. Un'istanza può non riuscire e segnalare Out of memory, ma i grafici della console Google Cloud o di Cloud Monitoring sembrano mostrare che è ancora presente memoria.

Oltre al carico di lavoro, esistono altri fattori che possono influire sull'utilizzo della memoria, ad esempio il numero di connessioni attive e i processi di overhead interni. Questi aspetti non sempre si riflettono nei grafici di monitoraggio.

Assicurati che l'overhead dell'istanza sia sufficiente per tenere conto del carico di lavoro e dell'overhead aggiuntivo.

Recupero di un'istanza eliminata. Tutti i dati su un'istanza, inclusi i backup, vengono persi definitivamente quando l'istanza viene eliminata.

Per conservare i dati, esportali in Cloud Storage prima di eliminare un'istanza.

Il ruolo Amministratore Cloud SQL include l'autorizzazione per eliminare l'istanza. Per impedire l'eliminazione accidentale, concedi questo ruolo solo se necessario.

Vuoi rinominare un'istanza Cloud SQL esistente. La ridenominazione di un'istanza esistente non è supportata.

Esistono altri modi per raggiungere l'obiettivo creando una nuova istanza.

  • Puoi clonare l'istanza che vuoi rinominare e impostare un nuovo nome per l'istanza clonata. In questo modo puoi creare la nuova istanza senza dover importare i dati manualmente. Proprio come durante la creazione di una nuova istanza, l'istanza clonata ha un nuovo indirizzo IP.
  • Puoi esportare i dati dalla tua istanza in un bucket Cloud Storage, creare una nuova istanza con il nuovo nome che preferisci e quindi import i dati nella nuova istanza.

In entrambi i casi, puoi eliminare la vecchia istanza al termine dell'operazione. Ti consigliamo di utilizzare la route di clonazione perché non ha alcun impatto sulle prestazioni e non richiede di ripetere le impostazioni di configurazione dell'istanza, come flag, tipo di macchina, dimensioni di archiviazione e memoria.

Errore durante l'eliminazione di un'istanza. Se per un'istanza è abilitata la protezione da eliminazione, conferma di voler eliminare l'istanza. Quindi disabilita la protezione da eliminazione prima di eliminare l'istanza.

Private Service Connect

Problema Risoluzione dei problemi
Il collegamento al servizio dell'istanza non accetta l'endpoint Private Service Connect.
  1. Controlla lo stato dell'endpoint.

    gcloud

    Per controllare lo stato, utilizza il comando
    gcloud compute forwarding-rules describe.

    gcloud compute forwarding-rules describe ENDPOINT_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    | grep pscConnectionStatus

    Effettua le seguenti sostituzioni:

    • ENDPOINT_NAME: il nome dell'endpoint
    • PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'endpoint
    • REGION_NAME: il nome della regione dell'endpoint

    REST

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'endpoint Private Service Connect
    • REGION_NAME: il nome della regione
    • ENDPOINT_NAME: il nome dell'endpoint

    Metodo HTTP e URL:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "kind": "compute#forwardingRule",
      "id": "ENDPOINT_ID",
      "creationTimestamp": "2024-05-09T12:03:21.383-07:00",
      "name": "ENDPOINT_NAME",
      "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME",
      "IPAddress": "IP_ADDRESS",
      "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME",
      "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default",
      "serviceDirectoryRegistrations": [
        {
          "namespace": "goog-psc-default"
        }
      ],
      "networkTier": "PREMIUM",
      "labelFingerprint": "LABEL_FINGERPRINT_ID",
      "fingerprint": "FINGERPRINT_ID",
      "pscConnectionId": "CONNECTION_ID",
      "pscConnectionStatus": "ACCEPTED",
      "allowPscGlobalAccess": true
    }
    
  2. Verifica che lo stato dell'endpoint sia ACCEPTED. Se lo stato è PENDING, l'istanza non consente il progetto Google Cloud contenente l'endpoint. Assicurati che il progetto di rete in cui è stato creato l'endpoint sia consentito. Per saperne di più, consulta Modificare un'istanza con Private Service Connect abilitato.

Replica

Problema Risoluzione dei problemi
La replica di lettura non è stata avviata al momento della creazione. Probabilmente contiene un errore più specifico nei file di log. Esamina i log in Cloud Logging per trovare l'errore effettivo.
Impossibile creare la replica di lettura: errore invalidFlagValue. Uno dei flag nella richiesta non è valido. Potrebbe essere un flag da te fornito esplicitamente o impostato su un valore predefinito.

Innanzitutto, verifica che il valore del flag max_connections sia maggiore o uguale al valore del flag principale.

Se il flag max_connections è impostato correttamente, controlla i log in Cloud Logging per individuare l'errore effettivo.

Impossibile creare la replica di lettura: errore sconosciuto. Probabilmente contiene un errore più specifico nei file di log. Esamina i log in Cloud Logging per trovare l'errore effettivo.

Se l'errore è: set Service Networking service account as servicenetworking.serviceAgent role on consumer project, disattiva e riattiva Service Networking API. Questa azione crea l'account di servizio necessario per continuare la procedura.

Il disco è pieno. La dimensione del disco dell'istanza principale può diventare piena durante la creazione della replica. Modifica l'istanza principale per eseguirne l'upgrade a una dimensione del disco maggiore.
L'istanza di replica utilizza troppa memoria. La replica utilizza la memoria temporanea per memorizzare nella cache le operazioni di lettura richieste più spesso, il che può comportare l'utilizzo di più memoria rispetto all'istanza principale.

Riavvia l'istanza di replica per recuperare lo spazio di memoria temporaneo.

Replica interrotta. È stato raggiunto il limite massimo di spazio di archiviazione e l'aumento automatico dello spazio di archiviazione non è abilitato.

Modifica l'istanza per abilitare automatic storage increase.

Il ritardo della replica è costantemente elevato. Il carico di scrittura è troppo elevato per essere gestito dalla replica. Il ritardo della replica si verifica quando il thread SQL su una replica non è in grado di stare al passo con il thread di IO. Alcuni tipi di query o carichi di lavoro possono causare un ritardo di replica temporaneo o permanente elevato per uno schema specifico. Alcune delle cause tipiche del ritardo della replica sono:
  • Query lente sulla replica. Trovale e correggile.
  • Query come DELETE ... WHERE field < 50000000 causano un ritardo della replica con la replica basata su riga perché un numero enorme di aggiornamenti si accumula nella replica.

Ecco alcune possibili soluzioni:

  • Modifica l'istanza per aumentare le dimensioni della replica.
  • Riduci il carico sul database.
  • Invia traffico di lettura alla replica di lettura.
  • Indicizza le tabelle.
  • Identifica e correggi le query di scrittura lente.
  • Ricrea la replica.
La creazione della replica non riesce con il timeout. Le transazioni non impegnate a lunga esecuzione sull'istanza principale possono causare un errore nella creazione della replica di lettura.

Ricrea la replica dopo aver interrotto tutte le query in esecuzione.