Dela via


Serverkonfiguration: kostnadsgräns för frågeguvernör

Gäller för:SQL Server

Den här artikeln beskriver hur du konfigurerar serverkonfigurationsalternativet query governor cost limit i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Alternativet kostnadsgräns anger en övre gräns för den uppskattade kostnad som tillåts för en viss fråga att köras. Frågekostnaden är en abstrakt bild som bestäms av frågeoptimeraren baserat på uppskattade körningskrav som processortid, minne och disk-I/O. Den refererar till den beräknade förflutna tiden, i sekunder, som skulle krävas för att slutföra en fråga om en specifik maskinvarukonfiguration. Den här abstrakta figuren motsvarar inte den tid som krävs för att slutföra en fråga på den instans som körs. Det bör behandlas som ett relativt mått. Standardvärdet för det här alternativet är 0, vilket anger frågeguvernören till av. Om du anger värdet till 0 kan alla frågor köras utan tidsbegränsning. Om du anger ett icke-nollvärde, icke-nej, tillåter frågeguvernören inte körning av frågor som har en uppskattad kostnad som överskrider det värdet.

Recommendations

Det här alternativet är ett avancerat alternativ och bör endast ändras av en erfaren databasproffs.

Om du vill ändra kostnadsgränsen för värdefrågans guvernör per anslutning använder du instruktionen SET QUERY_GOVERNOR_COST_LIMIT .

Permissions

Kör behörigheter på sp_configure utan parametrar eller med endast den första parametern beviljas alla användare som standard. Om du vill köra sp_configure med båda parametrarna för att ändra ett konfigurationsalternativ eller för att köra -instruktionen RECONFIGURE måste en användare beviljas behörighet på ALTER SETTINGS servernivå. Behörigheten ALTER SETTINGS innehas implicit av de fasta serverrollerna sysadmin och serveradmin .

Använda SQL Server Management Studio

  1. Högerklicka på en server i Object Explorer och välj Egenskaper.

  2. Välj sidan Anslutningar .

  3. Markera eller avmarkera kryssrutan Använd frågeguvernör för att förhindra långvariga frågor .

    Om du markerar den här kryssrutan i rutan nedan anger du ett positivt värde som frågeguvernören använder för att neka körning av frågor med en uppskattad kostnad som överstiger det värdet.

Använd Transact-SQL

  1. Anslut till databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Det här exemplet visar hur du använder sp_configure för att ange värdet query governor cost limit för alternativet till en uppskattad frågekostnadsgräns på 120.

    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
    

Mer information finns i Server-konfigurationsalternativ.

Följ upp: När du har konfigurerat alternativet för kostnadsgräns för frågeguvernör

Inställningen börjar gälla omedelbart utan att servern startas om.