Una query
SQL che torna utile per visualizzare l'impostazione
Autogrowth dei database
MS SQL ServerSELECT databaseName = DB_NAME(database_id),
[logicalName] = [name],
[fileSizeMB] = CONVERT (numeric (15,2) , (convert(numeric, size) * 8192)/1048576),
[isPercentGrowth] = case is_percent_growth when 1 then 'Yes' when 0 then 'No' end,
[autoGrowth] = growth,
[autoGrowthMB] = case is_percent_growth
when 1 then CONVERT(numeric(18,2), (((convert(numeric, size)*growth)/100)*8)/1024)
when 0 then CONVERT(numeric(18,2), (convert(numeric, growth)*8)/1024)
end,
[maxSize] = max_size,
[isReadOnly] = case is_read_only when 1 then 'Yes' when 0 then 'No' end,
[state]=state_desc,
[physicalName] = physical_name
FROM sys.master_files
WHERE [type] in (0,1) --and [growth] != 0
query presa da
Autogrowth option for SQL Server database filesDi default
SQL Server imposta 1MB di autogrowth sui file dati e 10% sui file di log. Questi valori sono impostati nelle property del database
model quindi per cambiare i valori di default bisogna agire su questo DB.
L'impostazione in percentuale non è consigliata per DB molto grandi (maggiori di 500MB), conviene impostare un valore fisso in MB.
Tieni presente che se hai un autogrowth a 1MB ed aggiungi un dei dati pari a 10MB (ad esempio un file)
SQL deve espandere 10 volte il file di dati. Questo in termini di prestazioni è molto penalizzante.