Dela via


Överväganden för att använda testservrar

Gäller för:SQL Server

Att använda en testserver för att finjustera en databas på en produktionsserver är en viktig fördel med Database Engine Tuning Advisor. Med den här funktionen kan du avlasta justeringskostnader till en testserver utan att kopiera faktiska data till testservern från produktionsservern.

Anmärkning

Testserverns justeringsfunktion stöds inte i det grafiska användargränssnittet (GUI) för Database Engine Tuning Advisor.

Om du vill använda den här funktionen kan du läsa de överväganden som anges i följande avsnitt.

Konfigurera testservern/produktionsservermiljön

  • Den användare som vill använda en testserver för att finjustera en databas på en produktionsserver måste finnas på båda servrarna, annars fungerar inte det här scenariot.

  • Den utökade lagrade proceduren , xp_msver, måste vara aktiverad för att använda scenariot testserver/produktionsserver. Database Engine Tuning Advisor använder den här utökade lagrade proceduren för att hämta antalet processorer och det tillgängliga minnet för produktionsservern som ska användas när testservern justeras. Om xp_msver inte är aktiverat förutsätter Database Engine Tuning Advisor maskinvaruegenskaperna för den dator där Database Engine Tuning Advisor körs. Om maskinvaruegenskaperna för den dator där Database Engine Tuning Advisor körs inte är tillgängliga antas en processor och 1 024 MB minne . Den här utökade lagrade proceduren är aktiverad som standard när du installerar SQL Server. Mer information finns i Surface Area Configuration and xp_msver (Transact-SQL).

  • Database Engine Tuning Advisor förväntar sig att utgåvorna av SQL Server är desamma på både testservern och produktionsservern. Om det finns två olika utgåvor har utgåvan på testservern företräde. Om testservern till exempel kör SQL Server Standard innehåller Database Engine Tuning Advisor inte indexerade vyer, partitionering och onlineåtgärder i sina rekommendationer, även om produktionsservern kör SQL Server Enterprise.

Om testserver/produktionsserverbeteende

  • Database Engine Tuning Advisor tar hänsyn till maskinvaruskillnader mellan produktionen och testservern när du skapar rekommendationer. Rekommendationen är densamma som om justeringen gjordes enbart på produktionsservern.

  • Database Engine Tuning Advisor kan medföra viss belastning på produktionsservern för insamling av metadata samt skapande av statistik som krävs för justering.

  • Database Engine Tuning Advisor kopierar inte faktiska data från produktionsservern till testservern. Den kopierar bara metadata för databaserna och nödvändig statistik.

  • All sessionsinformation lagras i msdb på produktionsservern. På så sätt kan du utnyttja alla tillgängliga testservrar för justering, och information om alla sessioner är tillgänglig på ett ställe (produktionsservern).

  • Efter justeringen bör Database Engine Tuning Advisor ta bort metadata som skapats på testservern under justeringsprocessen. Detta inkluderar shell-databasen. Om du utför en serie justeringssessioner med samma produktions- och testservrar kanske du vill behålla den här shell-databasen för att spara tid. I XML-indatafilen anger du underelementet RetainShellDB med de andra underelementen under det överordnade elementet TuningOptions . Om du använder de här alternativen behålls shell-databasen av Database Engine Tuning Advisor. Mer information finns i XML-indatafilreferens (Database Engine Tuning Advisor).

  • Shell-databaser kan lämnas kvar på testservern efter en lyckad testserver/produktionsserverjusteringssession även om du inte har angett underelementet RetainShellDB . Dessa oönskade gränssnittsdatabaser kan störa efterföljande justeringssessioner och bör tas bort innan du utför en annan testserver/produktionsserverjusteringssession. Om en justeringssession avslutas oväntat kan dessutom gränssnittsdatabaserna på testservern och objekten i dessa databaser lämnas kvar på testservern. Du bör också ta bort dessa databaser och objekt innan du startar en ny testserver/produktionsserverjusteringssession.

  • Användaren måste kontrollera justeringsloggen efter justeringsfel som beror på skillnader mellan produktions- och testservrarna och för fel som uppstår vid kopiering av metadata från produktionen till testservern. En användarinloggning kanske till exempel inte finns på testservern. Om det inte finns någon användarinloggning på testservern kan det hända att de händelser i arbetsbelastningen som utfärdas av användarinloggningen inte kan ändras. Använd Database Engine Tuning Advisor-GUI:n för att visa tuningloggen. Mer information finns i Visa och arbeta med utdata från Database Engine Tuning Advisor

  • Om Database Engine Tuning Advisor inte kan justera många händelser eftersom objekt saknas i shell-databasen som Database Engine Tuning Advisor skapar på testservern, måste användaren kontrollera justeringsloggen. Händelser som inte kan justeras visas i loggen. Om du vill finjustera databasen på testservern måste användaren skapa de objekt som saknas i shell-databasen och sedan starta en ny justeringssession.

  • Om det redan finns en databas med samma namn på testservern kopierar inte Database Engine Tuning Advisor metadata, utan fortsätter att justera och samla in statistik efter behov. Detta är användbart om användaren redan har skapat en databas på testservern och har kopierat lämpliga metadata innan han eller hon anropar Database Engine Tuning Advisor.

  • Om alternativet DATE_CORRELATION_OPTIMIZATION är aktiverat för en databas på produktionsservern är metadata och de data som är associerade med det här alternativet inte helt skriptade när testservern justeras. När justering utförs för ett testserver-/produktionsserverscenario kan följande problem gälla:

    • Användare kan ha olika frågeplaner på servrarna för frågor som använder alternativet DATE_CORRELATION_OPTIMIZATION.

    • Database Engine Tuning Advisor kan föreslå att indexerade vyer som använder alternativet DATE_CORRELATION_OPTIMIZATION utesluts i rekommendationsskriptet.

    Därför kanske du vill ignorera alla rekommendationer som Database Engine Tuning Advisor gör om indexerade vyer som innehåller korrelationsstatistik eftersom Database Engine Tuning Advisor känner till deras kostnader men inte deras fördelar. Database Engine Tuning Advisor kanske inte rekommenderar val av vissa index, till exempel klustrade index på datetime-kolumner, vilket kan vara fördelaktigt när DATE_CORRELATION_OPTIMIZATION är aktiverat.

    Om du vill avgöra om en vy baseras på korrelationsstatistik väljer du kolumnen is_date_correlation_viewi katalogvyn sys.views .