Configurazione del server: min memory per query
Si applica a: SQL Server
Questo articolo descrive come configurare l'opzione di configurazione del min memory per query
server in SQL Server usando SQL Server Management Studio o Transact-SQL. L'opzione min memory per query
specifica la quantità minima di memoria (in kilobyte) da allocare per l'esecuzione di una query. Questa operazione è nota anche come concessione di memoria minima. Ad esempio, se min memory per query
è impostato su 2.048 KB, la query garantisce di ottenere almeno quella quantità di memoria totale. Il valore predefinito è 1024 KB. Il valore minimo è 512 KB mentre quello massimo è 2.147.483.647 KB (2 GB).
Limiti
La quantità indicata in min memory per query ha la precedenza sull'opzione index create memory. Se si modificano entrambe le opzioni e index create memory è minore di min memory per query, verrà visualizzato un messaggio di avviso, ma il valore risulterà impostato. Durante l'esecuzione delle query verrà visualizzato un altro avviso simile.
Consigli
Questa opzione è avanzata e la relativa modifica è riservata ad amministratori di database esperti o a professionisti con certificazione per SQL Server.
Con Query Processor di SQL Server si tenta di determinare la quantità ottimale di memoria da allocare per una query. L'opzione min memory per query consente all'amministratore di specificare la quantità di memoria minima assegnata a ogni query. In genere la quantità di memoria aumenta se le query comportano operazioni di hashing o di ordinamento per quantità di dati elevate. L'aumento del valore di min memory per query potrebbe migliorare le prestazioni per alcune query di piccole e medie dimensioni, ma ciò potrebbe comportare un aumento della concorrenza per le risorse di memoria. L'opzione min memory per query include la memoria allocata per le operazioni di ordinamento.
Non impostare l'opzione di configurazione min memory per server di query troppo elevata, soprattutto nei sistemi molto occupati, perché la query deve attendere1 finché non può proteggere la memoria minima richiesta o fino a quando non viene superato il valore specificato nell'opzione di configurazione del server di attesa query. Se è disponibile più memoria del valore minimo specificato necessario per eseguire la query, la query può usare la memoria aggiuntiva, se la memoria può essere usata in modo efficace dalla query.
1 In questo scenario, il tipo di attesa è in RESOURCE_SEMAPHORE
genere . Per altre informazioni, vedere sys.dm_os_wait_stats.
Autorizzazioni
Le autorizzazioni di esecuzione per sp_configure
senza alcun parametro o solo con il primo parametro vengono assegnate per impostazione predefinita a tutti gli utenti. Per eseguire sp_configure
con entrambi i parametri per la modifica di un'opzione di configurazione o per l'esecuzione dell'istruzione RECONFIGURE
, a un utente deve essere concessa l'autorizzazione a livello di server ALTER SETTINGS
. L'autorizzazione ALTER SETTINGS
è assegnata implicitamente ai ruoli predefiniti del serversysadmin e serveradmin.
Usare SQL Server Management Studio
In Esplora oggetti fare clic con il pulsante destro del mouse su un server e scegliere Proprietà.
Selezionare il nodo Memoria .
Nella casella Memoria minima per query immettere la quantità minima di memoria (in kilobyte) da allocare per l'esecuzione di una query.
Usare Transact-SQL
Connettersi al motore di database di.
Nella barra Standard selezionare Nuova query.
Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio si illustra come usare sp_configure per impostare il valore dell'opzione
min memory per query
su3500
KB.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'min memory per query', 3500; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
Completamento: Dopo aver configurato l'opzione min memory per query
L'impostazione diventa effettiva immediatamente senza dover riavviare il server.