Condividi tramite


Configurazione del server: limite di costi di Query Governor

Si applica a: SQL Server

Questo articolo descrive come configurare l'opzione di configurazione del query governor cost limit server in SQL Server usando SQL Server Management Studio o Transact-SQL. L'opzione relativa al limite di costo specifica un limite superiore per il costo stimato consentito per l'esecuzione di una query specifica. Il costo delle query è una figura astratta determinata da Query Optimizer in base ai requisiti di esecuzione stimati, ad esempio tempo cpu, memoria e I/O su disco. Equivale al tempo trascorso, in secondi, stimato per l'esecuzione di una query in una configurazione hardware specifica. Questa figura astratta non equivale al tempo necessario per completare una query nell'istanza in esecuzione. Deve essere considerato come una misura relativa. Il valore predefinito per questa opzione è 0, che imposta query governor su off. L'impostazione del valore su consente l'esecuzione 0 di tutte le query senza limitazioni temporali. Se si specifica un valore diverso da zero e positivo, tramite Query Governor non sarà possibile l'esecuzione delle query il cui costo stimato supera quel valore.

Consigli

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

Per modificare il valore di Query Governor Cost Limit a livello di singola connessione, usare l'istruzione SET QUERY_GOVERNOR_COST_LIMIT .

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 la pagina Connessioni .

  3. Selezionare o deselezionare la casella di controllo Usa Query Governor per evitare query con esecuzione prolungata .

    Se si seleziona questa casella di controllo, nella casella sottostante immettere un valore positivo che verrà usato da Query Governor per impedire l'esecuzione di qualsiasi query con costo stimato superiore a quel valore.

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 viene illustrato come usare sp_configure per impostare il valore dell'opzione query governor cost limit su un limite massimo stimato del costo della query pari 120a .

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query governor cost limit', 120;
    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 governor cost limit

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