Controlla le impostazioni di crescita automatica del database - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Controlla le impostazioni di crescita automatica del database

Qualsiasi transazione che richieda la crescita dei dati o del file di registro include il tempo impiegato dall'operazione di crescita del file. Il file cresce in base alla dimensione di incremento definita dall'opzione FILEGROWTH. È possibile cercare gli eventi di crescita dei file nelle tracce del profiler di SQL Server. Se la crescita dei file richiede molto tempo, è possibile che si verifichino tipi di attesa comeASYNC_IO_COMPLETION, ad esempio, quando l'elaborazione dei dati è molto lenta. Tali tipi di attesa non solo influiscono sulle prestazioni, ma possono anche causare timeout delle transazioni. Se tale transazione blocca le risorse ricercate da altre transazioni, il timeout comporterebbe gravi problemi di blocco del server.

Per questo motivo, ti consigliamo di configurare le impostazioni di crescita automatica con molta attenzione. Tieni inoltre presente che:

Tutti questi motivi potrebbero comportare un rallentamento dell'avvio del database e un aumento dei tempi di backup e ripristino.

Idealmente, è consigliabile pre-ampliare i file in modo proattivo, sulla base di un monitoraggio regolare. Scegliete con attenzione se impostare la crescita automatica come percentuale o come valore statico (in MB). In genere, impostare la crescita automatica su un ottavo della dimensione del file è un buon punto di partenza, ma potrebbe non essere la scelta giusta. (Ad esempio, questa percentuale sarebbe troppo alta se il file di dati ha una dimensione di diversi TB).

Nella maggior parte dei casi, un valore di crescita automatica di 1024 MB è ideale per i file di dati presenti nella maggior parte dei database di grandi dimensioni. Per i file di registro, 512 MB sono un buon punto di partenza. Per le misure di emergenza, consigliamo vivamente di impostare il valore di crescita automatica, ma di ingrandire i file manualmente per alcuni mesi in base alle tendenze passate.

Nota

L'impostazione della crescita automatica dovrebbe essere una misura di emergenza, quindi dovresti impostarla dopo aver preallocato lo spazio di archiviazione su un file.

È possibile modificare le impostazioni di crescita automatica utilizzando SQL Server Management Studio (SSMS) o Transact-SQL. La seguente illustrazione della schermata mostra le impostazioni di crescita automatica in SSMS.

Changing autogrowth settings

Quando utilizzate l'opzione FILEGROWTH per dati e file di registro, scegliete con attenzione se impostarla come percentuale o come valore statico (in MB). L'impostazione di una percentuale comporta una crescita sempre maggiore dei file, quindi potresti preferire utilizzare una dimensione statica per un migliore controllo del rapporto di crescita.

  • Nelle versioni precedenti a SQL Server 2022 (16.x), i log delle transazioni non possono utilizzare l'inizializzazione istantanea dei file, pertanto i tempi di crescita prolungati dei log sono particolarmente importanti.

  • A partire da SQL Server 2022 (16.x, tutte le edizioni), l'inizializzazione istantanea dei file può favorire gli eventi di crescita dei log delle transazioni fino a 64 MB. L'incremento predefinito delle dimensioni di crescita automatica per i nuovi database è di 64 MB. Gli eventi di crescita automatica del file di registro delle transazioni di dimensioni superiori a 64 MB non possono trarre vantaggio dall'inizializzazione istantanea dei file.