Configurazione del server: attesa query

Si applica a: SQL Server

Questo articolo descrive come configurare l'opzione di configurazione del server di attesa query in SQL Server usando SQL Server Management Studio o Transact-SQL. Le query a elevato utilizzo di memoria, ad esempio quelle che comportano l'ordinamento e l'hashing, vengono accodate quando non è disponibile memoria sufficiente per eseguire la query. L'opzione di attesa query specifica il tempo, espresso in secondi (da 0 a 2.147.483.647), che una query attende le risorse prima del timeout. Il valore predefinito per questa opzione è -1. Vuole dire che il timeout viene calcolato come 25 volte il costo stimato della query.

Importante

Durante l'attesa di memoria disponibile, è possibile che una transazione contenente la query in attesa mantenga attivi i blocchi acquisiti. In rari casi, è possibile che si verifichi un deadlock non rilevabile. La riduzione del periodo di tempo rappresentato dall'opzione query wait consente di ridurre la probabilità che si verifichino deadlock di questo tipo. Una query rimasta in attesa verrà infine terminata e i blocchi delle transazioni verranno rilasciati. Tuttavia, l'aumento del tempo di attesa massimo potrebbe aumentare la quantità di tempo per la terminazione della query. Le modifiche apportate a questa opzione non sono consigliate.

Consigli

Questa opzione è avanzata e la relativa modifica è riservata ad amministratori di database esperti o a professionisti con certificazione per SQL Server.

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

  1. In Esplora oggetti fare clic con il pulsante destro del mouse su un server e scegliere Proprietà.

  2. Selezionare il nodo Avanzate.

  3. In Parallelismoimmettere il valore desiderato per l'opzione query wait .

Usare Transact-SQL

  1. Connettersi al motore di database di.

  2. Nella barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio si illustra come utilizzare sp_configure per impostare il valore dell'opzione query wait su 7500 secondi.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query wait', 7500;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

Per altre informazioni, vedere Opzioni di configurazione del server.

Completamento: Dopo aver configurato l'opzione query wait

L'impostazione diventa effettiva immediatamente senza dover riavviare il server.