Configurazione dei flag di database

Questa pagina descrive come configurare i flag di database per Cloud SQL e elenca i flag che puoi impostare per l'istanza. Si usano i flag di database per molte operazioni, tra cui la regolazione dei parametri SQL Server, la regolazione e configurare e ottimizzare un'istanza.

Quando imposti, rimuovi o modifichi un flag per un'istanza di database, il database potrebbe essere riavviato. Il valore del flag viene mantenuto per l'istanza finché non lorimuovi. Se l'istanza è l'origine di una replica e viene riavviata, viene riavviata anche la replica in modo da allinearsi alla configurazione corrente dell'istanza.

Configurazione dei flag di database

Imposta un flag di database

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi impostare un flag di database.
  2. Apri l'istanza e fai clic su Modifica.
  3. Scorri verso il basso fino alla sezione Flag.
  4. Per impostare un flag che non è stato impostato prima nell'istanza, fai clic su Aggiungi elemento, scegli il flag dal menu a discesa e impostane il valore.
  5. Fai clic su Salva per salvare le modifiche.
  6. Conferma le modifiche in Flag nella pagina Panoramica.

gcloud

Modifica l'istanza:

gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2

Questo comando sovrascriverà tutti i flag del database impostati in precedenza. Per conservarli e aggiungerne di nuovi, includi i valori di tutti i flag che vuoi impostare nell'istanza. Qualsiasi flag non incluso specificamente viene impostato sul relativo valore predefinito. Per i flag che non accettano un valore, specifica il nome del flag seguito da un segno di uguale ("=").

Ad esempio, per impostare i flag 1204, remote access e remote query timeout (s), puoi utilizzare il seguente comando:

gcloud sql instances patch INSTANCE_NAME \
  --database-flags="1204"=on,"remote access"=on,"remote query timeout (s)"=300

Terraform

Per aggiungere flag di database, utilizza una risorsa Terraform.

resource "google_sql_database_instance" "instance" {
  name             = "sqlserver-instance-flags"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    database_flags {
      name  = "1204"
      value = "on"
    }
    database_flags {
      name  = "remote access"
      value = "on"
    }
    database_flags {
      name  = "remote query timeout (s)"
      value = "300"
    }
    tier = "db-custom-2-7680"
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Applica le modifiche

Per applicare la configurazione Terraform a un progetto Google Cloud, completa i passaggi nella le sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito dove vuoi applicare le configurazioni Terraform.

    Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti in Terraform di configurazione del deployment.

Prepara la directory

Ogni file di configurazione Terraform deve avere una directory dedicata (inoltre chiamato modulo principale).

  1. In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve contenere .tf, ad esempio main.tf. In questo tutorial, il file è denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice di esempio in ogni sezione o passaggio.

    Copia il codice di esempio nel file main.tf appena creato.

    Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

  3. Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
    terraform init

    Se vuoi, per utilizzare la versione più recente del provider Google, includi l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione e verifica che le risorse che Terraform creerà o che l'aggiornamento soddisfi le tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo questo comando e inserendo yes alla richiesta:
    terraform apply

    Attendi finché Terraform non visualizzi il messaggio "Applicazione completata!". per creare un nuovo messaggio email.

  3. Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

Elimina le modifiche

Per eliminare le modifiche:

  1. Per disabilitare la protezione dall'eliminazione, imposta il file di configurazione Terraform Argomento deletion_protection per false.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo il comando seguente inserendo yes alla richiesta:
    terraform apply
  1. Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il seguente comando e inserendo yes al prompt:

    terraform destroy

REST v1

Per impostare un flag per un database esistente:

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

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se esistono flag configurati per il database, modifica il comando precedente per includerli. Il comando PATCH sovrascrive i flag esistenti con quelli specificati nella richiesta.

REST v1beta4

Per impostare un flag per un database esistente:

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

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se esistono flag già configurati per il database, modifica la precedente per includerle. Il comando PATCH sovrascrive i flag esistenti con quelli specificati nella richiesta.

Reimposta tutti gli indicatori sui valori predefiniti

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi cancellare tutti gli indicatori.
  2. Apri l'istanza e fai clic su Modifica.
  3. Apri la sezione Flag di database.
  4. Fai clic sulla X accanto a tutti gli indicatori visualizzati.
  5. Fai clic su Salva per salvare le modifiche.

gcloud

Imposta tutti i flag sui valori predefiniti in un'istanza:

gcloud sql instances patch INSTANCE_NAME \
--clear-database-flags

Ti viene chiesto di confermare che l'istanza verrà riavviata.

REST v1

Per cancellare tutti i flag per un'istanza esistente:

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

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags": []
  }
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Per cancellare tutti i flag per un'istanza esistente:

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

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings":
  {
    "databaseFlags": []
  }
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Determina quali flag di database sono stati impostati per un'istanza

Per vedere quali flag sono stati impostati per un'istanza di Cloud SQL:

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi visualizzare gli indicatori del database impostati.
  2. Seleziona l'istanza per aprire la pagina Panoramica istanza.

    I flag di database impostati sono elencati nella sezione Flag di database.

gcloud

Ottieni lo stato dell'istanza:

gcloud sql instances describe INSTANCE_NAME

Nell'output, i flag di database sono elencati sotto il settings come la raccolta databaseFlags. Per ulteriori informazioni sulla rappresentazione dei flag nell'output, consulta Rappresentazione delle risorse delle istanze.

REST v1

Per elencare i flag configurati per un'istanza:

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

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Nell'output, cerca il campo databaseFlags.

REST v1beta4

Per elencare i flag configurati per un'istanza:

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

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Nell'output, cerca il campo databaseFlags.

Flag supportati

I flag non menzionati di seguito non sono supportati.

Flag Cloud SQL Tipo
Note e valori accettabili
Riavvia
Obbligatorio?
1204 (flag di traccia) boolean
on | off
No
1222 (segnalazione di traccia) boolean
on | off
No
1224 (segnalazione di traccia) boolean
on | off
No
2528 (flag di traccia) boolean
on | off
No
3205 (segnalazione di traccia) boolean
on | off
No
3226 (segnalazione di traccia) boolean
on | off
No
3625 (segnalazione di traccia) boolean
on | off
4199 (segnalazione di tracciamento) boolean
on | off
No
4616 (segnalazione di tracciamento) boolean
on | off
No
7806 (flag di traccia) boolean
on | off
access check cache bucket count integer
0 ... 65536
No
quota cache del controllo di accesso integer
0 ... 2147483647
No
maschera di affinità integer
2147483648 ... 2147483647
No
agent xps boolean
on | off
No
soft-numa automatico disattivato boolean
on | off
nome del bucket xe cloud sql string
Il nome del bucket deve iniziare con il prefisso gs://.
No
cloud sql xe output total disk size (mb) integer
10 ... 512
No
cloud sql xe file retention (mins) integer
0 ... 10080
No
Intervallo di caricamento cloud SQL xe (min) integer
1 ... 60
No
Cloudsql abilita server collegati boolean
on | off
No
soglia di costo per il parallelismo integer
0 ... 32767
No
autenticazione database contenuta boolean
on | off
No
cross db ownership chaining boolean
on | off
No
soglia cursore integer
-1 ... 2147483647
No
Lingua predefinita del testo completo integer
0 ... 2147483647
No
lingua predefinita integer
0 ... 32
No
tracce predefinita abilitata boolean
on | off
No
non consentire i risultati degli attivatori boolean
on | off
No
script esterni attivati boolean
on | off
ft di larghezza di banda di scansione (max) integer
0 ... 32767
No
larghezza di banda di scansione (min) integer
0 ... 32767
No
Larghezza di banda per notifica con ft (max) integer
0 ... 32767
No
Larghezza di banda per notifica ft (min) integer
0 ... 32767
No
Fattore di riempimento (%) integer
0 ... 100
No
memoria creazione indice (kb) integer
704 ... 2147483647
No
serrature integer
5000 ... 2147483647
max server memory (mb) integer
1000 ... 2147483647
Cloud SQL potrebbe impostare un valore per questo flag sulle istanze in base ai valori consigliati da Microsoft. Per ulteriori informazioni, consulta Flag speciali.
No
Dimensione massima del testo (b) integer
-1 ... 2147483647
No
max worker threads integer
128 ... 65535
No
Trigger nidificati boolean
on | off
No
Ottimizzazione per carichi di lavoro ad hoc boolean
on | off
No
timeout ph (s) integer
1 ... 3600
No
limite di costo di Query Governatore integer
0 ... 2147483647
No
query wait (s) integer
-1 ... 2147483647
No
intervallo di recupero (min) integer
0 ... 32767
No
accesso remoto boolean
on | off
timeout accesso remoto (s) integer
0 ... 2147483647
No
remote query timeout (s) integer
0 ... 2147483647
No
Trasforma le parole che generano rumore boolean
on | off
No
limite annuale a due cifre integer
1753 ... 9999
No
Connessioni utente integer
0, 10 ... 32767
opzioni utente integer
0 ... 32767
No

Flag speciali

Questa sezione contiene informazioni aggiuntive sui flag di Cloud SQL per SQL Server.

max server memory (mb)

Questo flag limita la quantità di memoria che Cloud SQL può allocare per i suoi pool interni. In generale, è consigliabile impostare il valore del flag su circa l'80% per evitare che SQL Server occupi tutta la memoria disponibile per l'istanza Cloud SQL. Se imposti il valore su un valore superiore all'80%, potresti riscontrare instabilità, peggioramento delle prestazioni e arresti anomali del database a causa di problemi di memoria insufficiente.

Se non imposti un valore per questo flag, Cloud SQL gestisce il valore automaticamente in base alle dimensioni della RAM della tua istanza. Inoltre, se ridimensioni l'istanza, Cloud SQL regola automaticamente il valore del flag per soddisfare i nostri consigli per le dimensioni della nuova istanza. Ciò garantisce che il database utilizzi le risorse in modo efficace, evitando sovraallocazione, arresti anomali e degrado delle prestazioni per la tua istanza.

Risoluzione dei problemi

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 di tempo e altro ancora. Per informazioni su questa funzione, consulta FUSO ORARIO (Transact-SQL).

Passaggi successivi