Configura flag di database

Questa pagina descrive come configurare i flag di database per Cloud SQL ed elenca i flag che puoi impostare per la tua istanza. Utilizzi i flag di database per molte operazioni, tra cui la modifica dei parametri di SQL Server, la modifica delle opzioni e la configurazione e l'ottimizzazione di 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 lo rimuovi. Se l'istanza è l'origine di una replica e viene riavviata, anche la replica viene riavviata per allinearsi alla configurazione attuale dell'istanza.

Configura flag di database

Le sezioni seguenti illustrano le attività comuni di gestione dei flag.

Imposta un flag di database

Console

  1. Nella consoleGoogle 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. Vai alla sezione Flag.
  4. Per impostare un flag che non è stato impostato in precedenza sull'istanza, fai clic su Aggiungi elemento, scegli il flag dal menu a discesa e imposta il relativo 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 in modo specifico viene impostato sul valore predefinito. Per i flag che non accettano un valore, specifica il nome del flag seguito da un segno 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 di Terraform in un progetto Google Cloud , completa i passaggi nelle sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito in cui 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 nel file di configurazione Terraform.

Prepara la directory

Ogni file di configurazione di Terraform deve avere la propria directory (chiamata anche modulo radice).

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

    Copia il codice campione nel main.tf appena creato.

    (Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

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

    (Facoltativo) Per utilizzare l'ultima versione 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 aggiornerà corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione di Terraform eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply

    Attendi che Terraform visualizzi il messaggio "Apply complete!" (Applicazione completata).

  3. Apri il tuo Google Cloud progetto 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 disattivare la protezione dall'eliminazione, nel file di configurazione Terraform imposta l'argomento deletion_protection su false.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo il comando seguente e inserendo yes al prompt:
    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 di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se per il database sono configurati flag esistenti, 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 di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

Cancella tutti i flag e ripristina i valori predefiniti

Console

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

gcloud

Per ripristinare i valori predefiniti di tutti i flag di 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, 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": []
  }
}

Per inviare la richiesta, espandi una di queste 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, 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": []
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

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

Console

  1. Nella Google Cloud console, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi visualizzare i flag 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

Recupera lo stato dell'istanza:

gcloud sql instances describe INSTANCE_NAME

Nell'output, i flag di database sono elencati in settings come raccolta databaseFlags. Per saperne di più sulla rappresentazione dei flag nell'output, vedi 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

Cloud SQL supporta solo i flag elencati in questa sezione.

Flag Cloud SQL Tipo
Valori accettabili e note
Riavvio
richiesto?
1204 (flag di traccia) boolean
on | off
No
1222 (trace flag) boolean
on | off
No
1224 (trace flag) boolean
on | off
No
2528 (flag di traccia) boolean
on | off
No
3205 (trace flag) boolean
on | off
No
3226 (flag di traccia) boolean
on | off
No
3625 (flag di traccia) boolean
on | off
4199 (flag di traccia) boolean
on | off
No
4616 (flag di traccia) boolean
on | off
No
7806 (flag di traccia) boolean
on | off
access check cache bucket count integer
0 ... 65536
No
access check cache quota integer
0 ... 2147483647
No
maschera di affinità integer
2147483648 ... 2147483647
No
agent xps boolean
on | off
No
automatic soft-numa disabled boolean
on | off
cloud sql xe bucket name 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
cloud sql xe upload interval (mins) integer
1 ... 60
No
cloudsql enable linked servers boolean
on | off
No
cost threshold for parallelism integer
0 ... 32767
No
autenticazione database indipendente boolean
on | off
No
cross db ownership chaining boolean
on | off
No
soglia del cursore integer
-1 ... 2147483647
No
default full-text language integer
0 ... 2147483647
No
lingua predefinita integer
0 ... 32
No
default trace enabled boolean
on | off
No
disallow results from triggers boolean
on | off
No
external scripts enabled boolean
on | off
Larghezza di banda di scansione ft (max) integer
0 ... 32767
No
ft crawl bandwidth (min) integer
0 ... 32767
No
ft notify bandwidth (max) integer
0 ... 32767
No
ft notify bandwidth (min) integer
0 ... 32767
No
fattore di riempimento (%) integer
0 ... 100
No
index create memory (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, vedi Flag speciali.
No
max text repl size (b) integer
-1 ... 2147483647
No
max worker threads integer
128 ... 65535
No
trigger nidificati boolean
on | off
No
ottimizzare per i workload ad hoc boolean
on | off
No
ph timeout (s) integer
1 ... 3600
No
query governor cost limit integer
0 ... 2147483647
No
query wait (s) integer
-1 ... 2147483647
No
Intervallo di recupero (min) integer
0 ... 32767
No
accesso remoto boolean
on | off
remote login timeout (s) integer
0 ... 2147483647
No
remote query timeout (s) integer
0 ... 2147483647
No
trasformare le parole di disturbo boolean
on | off
No
anno a due cifre integer
1753 ... 9999
No
connessioni degli utenti 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)

Il flag max server memory (mb) limita la quantità di memoria che Cloud SQL può allocare per i suoi pool interni.

Ti consigliamo di non configurare un valore per questo flag e di lasciare che Cloud SQL gestisca il valore per te. Se devi gestire manualmente questo valore, come raccomandazione generale, imposta il valore max server memory (mb) su circa l'80% della memoria disponibile per evitare che SQL Server consumi tutta la memoria.

Al contrario, per le istanze con grandi quantità di memoria, l'80% della memoria disponibile potrebbe essere un valore troppo basso e potrebbe portare a un utilizzo della memoria sprecato.

Se non imposti un valore per questo flag, Cloud SQL gestisce automaticamente il valore in base alle dimensioni della RAM dell'istanza. Inoltre, se ridimensioni l'istanza, Cloud SQL regola automaticamente il valore del flag in base ai nostri consigli per le nuove dimensioni dell'istanza. Questa operazione di ridimensionamento rimuove anche qualsiasi valore impostato manualmente per questo flag. In questo modo, il database utilizza le risorse in modo più efficace, contribuendo a prevenire l'over-allocazione, riducendo la probabilità di un arresto anomalo dovuto a problemi di memoria insufficiente ed evitando il peggioramento delle prestazioni dell'istanza.

Per ulteriori informazioni, vedi Memoria massima del server e Ottimizzare l'utilizzo elevato della memoria.

Risoluzione dei problemi

Problema Risoluzione dei problemi
Vuoi modificare il fuso orario per un'istanza Cloud SQL.

Per scoprire come aggiornare il fuso orario di un'istanza, consulta Impostazioni dell'istanza.

In Cloud SQL per SQL Server, puoi utilizzare la funzione AT TIME ZONE per le conversioni di ora e altro ancora. Per saperne di più su questa funzione, consulta AT TIME ZONE (Transact-SQL).

Passaggi successivi