Configurazione dei 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. Puoi usare i flag di database per molte operazioni, tra cui la regolazione dei parametri di SQL Server, la regolazione 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 rimane per l'istanza finché non lo rimuovi. Se l'istanza è l'origine di una replica e l'istanza viene riavviata, viene riavviata anche la replica per allinearsi alla configurazione attuale 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 la quale 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 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 nella sezione Flag della pagina Panoramica.

gcloud

Modifica l'istanza:

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

Questo comando sovrascriverà tutti i flag di database impostati in precedenza. Per conservarli e aggiungerne di nuovi, includi i valori per tutti i flag che vuoi impostare nell'istanza. Qualsiasi flag non incluso nello specifico è impostato sul valore predefinito. Per i flag che non prendono un valore, specifica il nome della segnalazione 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 tua configurazione Terraform a un progetto Google Cloud, completa i passaggi nelle sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito a 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 Terraform deve avere la propria directory (chiamata anche modulo principale).

  1. In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome del file deve avere l'estensione .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 campione in ogni sezione o passaggio.

    Copia il codice campione nel nuovo oggetto main.tf.

    Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata se 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

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

    terraform init -upgrade

Applica le modifiche

  1. Esamina la configurazione e verifica che le risorse che Terraform creerà o aggiornerà soddisfino le tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

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

    Attendi finché in Terraform non viene visualizzato il messaggio "Applicazione completata!".

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

Elimina le modifiche

Per eliminare le modifiche:

  1. Per disabilitare la protezione dall'eliminazione, imposta l'argomento deletion_protection nel file di configurazione di Terraform su false.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo questo comando e inserendo yes al prompt:
    terraform apply
  1. Per rimuovere le risorse applicate in precedenza con la tua configurazione Terraform, esegui questo comando e inserisci yes al prompt:

    terraform destroy

REST v1

Per impostare un flag per un database 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":
    [
      {
        "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 esistenti 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, 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":
    [
      {
        "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 esistenti configurati per il database, modifica il comando precedente per includerli. Il comando PATCH sovrascrive i flag esistenti con quelli specificati nella richiesta.

Cancella i valori predefiniti di tutti i flag

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per la quale 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 tutte le segnalazioni mostrate.
  5. Fai clic su Salva per salvare le modifiche.

gcloud

Cancella 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 la quale vuoi visualizzare i flag di 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 settings come raccolta databaseFlags. Per maggiori 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, effettua 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 delle seguenti 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, effettua 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 delle seguenti 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
Valori e note accettabili
Riavvia
Obbligatorio?
1204 (segnalazione di traccia) boolean
on | off
No
1222 (segnalazione di traccia) boolean
on | off
No
1224 (segnalazione di traccia) boolean
on | off
No
2528 (segnalazione 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 (segnalazione di traccia) boolean
on | off
conteggio bucket cache per controllo accessi integer
0 ... 65536
No
Controllo accesso - quota cache integer
0 ... 2147483647
No
maschera di affinità integer
2147483648 ... 2147483647
No
xps agente boolean
on | off
No
soft-numa automatico disattivato boolean
on | off
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
concatenamento della proprietà tra database boolean
on | off
No
soglia del cursore integer
-1 ... 2147483647
No
lingua completa predefinita 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
ft di 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
Memoria massima del server (mb) integer
128 ... 2147483647
Cloud SQL potrebbe impostare un valore per questo flag sulle istanze, in base ai valori consigliati da Microsoft.
No
Dimensione massima del testo (b) integer
-1 ... 2147483647
No
numero massimo di thread worker integer
128 ... 65535
No
Trigger nidificati boolean
on | off
No
ottimizzare 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
attesa query (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
timeout delle query da remoto (s) integer
0 ... 2147483647
No
trasforma 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

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 temporali e altro ancora. Per informazioni su questa funzione, consulta la pagina AT TIME ZONE (Transact-SQL).

Passaggi successivi