Configurazione dei flag di database

Questa pagina descrive come configurare i flag di database per Cloud SQL ed elenca quelli che puoi impostare per la tua istanza. Puoi utilizzare i flag di database per molte operazioni, tra cui la regolazione dei parametri 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 viene mantenuto per l'istanza fino a quando non lo rimuovi. Se l'istanza è l'origine di una replica e l'istanza viene riavviata, anche la replica viene riavviata 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 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 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 di database impostati in precedenza. Per conservarli e aggiungerne di nuovi, includi i valori di tutti i flag che vuoi impostare sull'istanza. Ogni flag non incluso specificamente viene impostato sul valore predefinito. Per i flag che non accettano un valore, specifica il nome del flag seguito dal 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 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 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

    Se imposti valori espliciti nel file di configurazione Terraform, le variabili di ambiente vengono sostituite.

Prepara la directory

Ogni file di configurazione Terraform deve avere una propria directory (detta 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 è indicato come 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 file main.tf appena creato.

    Se vuoi, 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. 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 Terraform eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply

    Attendi finché Terraform non visualizza il messaggio "Applicazione completata".

  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, 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 tua configurazione Terraform eseguendo il comando seguente e inserendo 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 di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se sono presenti 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, 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 di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

Cancella tutti i flag sui valori predefiniti

Console

  1. Nella console Google 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 tutte le segnalazioni mostrate.
  5. Fai clic su Salva per salvare le modifiche.

gcloud

Cancella tutti i flag sui valori predefiniti su un'istanza:

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

Viene richiesto di confermare il riavvio dell'istanza.

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 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, 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 di queste 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 Cloud SQL:

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi visualizzare i flag del database che sono stati impostati.
  2. Seleziona l'istanza per aprire la relativa pagina Panoramica dell'istanza.

    I flag di database che sono stati 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 la pagina relativa alla 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 di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Cerca il campo databaseFlags nell'output.

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 di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Cerca il campo databaseFlags nell'output.

Flag supportati

I flag non menzionati di seguito non sono supportati.

Flag Cloud SQL Tipo
Valori e note accettabili
Riavviare
Obbligatorio?
1204 (flag di traccia) boolean
on | off
No
1222 (flag di traccia) boolean
on | off
No
1224 (flag di traccia) boolean
on | off
No
2528 (flag di traccia) boolean
on | off
No
3205 (flag di traccia) boolean
on | off
No
3226 (flag di traccia) boolean
on | off
No
3625 (flag di traccia) boolean
on | off
4199 (contrassegno traccia) boolean
on | off
No
4616 (flag di traccia) boolean
on | off
No
7806 (flag di traccia) boolean
on | off
numero di bucket di cache del controllo degli accessi integer
0 ... 65536
No
quota cache di Access Check integer
0 ... 2147483647
No
maschera di affinità integer
2147483648 ... 2147483647
No
xps agente boolean
on | off
No
numa soft automatica disattivata boolean
on | off
cloudsql abilita server collegati boolean
on | off
No
soglia di costo per il parallelismo integer
0 ... 32767
No
autenticazione database contenuti boolean
on | off
No
concatenamento proprietà cross-db boolean
on | off
No
soglia del cursore integer
-1 ... 2147483647
No
lingua a testo intero predefinita integer
0 ... 2147483647
No
lingua predefinita integer
0 ... 32
No
traccia predefinita abilitata boolean
on | off
No
non consentire i risultati dagli attivatori boolean
on | off
No
script esterni attivati boolean
on | off
larghezza di banda di scansione ft (max) integer
0 ... 32767
No
Larghezza di banda di scansione in ft (min) integer
0 ... 32767
No
Larghezza di banda per le notifiche in ft (max) integer
0 ... 32767
No
Larghezza di banda per le notifiche in ft (min) integer
0 ... 32767
No
fattore di riempimento (%) integer
0 ... 100
No
creazione memoria indice (kb) integer
704 ... 2147483647
No
lucchetti 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 replica testo (b) integer
-1 ... 2147483647
No
numero massimo di thread worker integer
128 ... 65535
No
attivatori 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 del governatore delle query integer
0 ... 2147483647
No
attesa query (s) integer
-1 ... 2147483647
No
intervallo di recupero (min) integer
0 ... 32767
No
accesso da remoto boolean
on | off
timeout (s) accesso da remoto integer
0 ... 2147483647
No
timeout query da remoto (s) integer
0 ... 2147483647
No
trasformare le parole con rumore boolean
on | off
No
orario limite per l'anno 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 AT TIME ZONE (Transact-SQL).

Passaggi successivi