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
- Nella consoleGoogle Cloud , seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi impostare un flag di database.
- Apri l'istanza e fai clic su Modifica.
- Vai alla sezione Flag.
- 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.
- Fai clic su Salva per salvare le modifiche.
- 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.
Applica le modifiche
Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
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).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione
.tf
, ad esempiomain.tf
. In questo tutorial, il file viene denominatomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
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.
- Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
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
-
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.
-
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).
- 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:
- Per disattivare la protezione dall'eliminazione, nel file di configurazione Terraform imposta l'argomento
deletion_protection
sufalse
.deletion_protection = "false"
- Applica la configurazione Terraform aggiornata eseguendo il comando seguente e
inserendo
yes
al prompt:terraform apply
-
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
- Nella consoleGoogle Cloud , seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi cancellare tutti i flag.
- Apri l'istanza e fai clic su Modifica.
- Apri la sezione Flag di database.
- Fai clic sulla X accanto a tutti i flag visualizzati.
- 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
- Nella Google Cloud console, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi visualizzare i flag del database impostati.
- 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 |
Sì |
4199 (flag di traccia) | boolean on | off |
No |
4616 (flag di traccia) | boolean on | off |
No |
7806 (flag di traccia) | boolean on | off |
Sì |
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 |
Sì |
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 |
Sì |
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 |
Sì |
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 |
Sì |
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 |
Sì |
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 |
Passaggi successivi
- Scopri di più sulle opzioni di configurazione di SQL Server.