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 quindi mantenuto per l'istanza finché rimuoverlo. Se l'istanza è l'origine di una replica e l'istanza è 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 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 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 impostato in precedenza. Per conservarli e aggiungerne di nuovi, includi i valori per tutte i flag che vuoi impostare sull'istanza; qualsiasi flag non specificamente incluso sia impostato sul 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 1204, remote access e remote query timeout (s), tu puoi usare questo 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 (inoltre chiamato modulo principale).

  1. In Cloud Shell, crea una directory e un nuovo all'interno di quella directory. Il nome del 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 campione in ogni sezione o passaggio.

    Copia il codice campione nel nuovo oggetto main.tf.

    Facoltativamente, copia il codice da GitHub. 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

    Facoltativamente, per utilizzare la versione più recente del provider Google, includi -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!". .

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

Elimina le modifiche

Per eliminare le modifiche:

  1. Per disabilitare la protezione dall'eliminazione, nel file di configurazione Terraform imposta la classe 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 tua configurazione Terraform eseguendo questo 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, 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 ci sono flag esistenti configurati per il database, modifica la precedente per includerle. Il comando PATCH sovrascrive la versione esistente 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 ci sono flag esistenti configurati per il database, modifica la precedente per includerle. Il comando PATCH sovrascrive la versione esistente 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 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 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 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, vedi 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
Note e valori 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
1000 ... 2147483647
Cloud SQL può impostare un valore per questo flag sulle istanze, in base 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 un'istanza esistente.

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

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

Passaggi successivi