sql >> Databasteknik >  >> RDS >> Sqlserver

Slut på support för SQL Server 2008 &2008 R2

Om du kör SQL Server 2008 eller SQL Server 2008 R2, vad gör 9 juli 2019 betyder för dig? När båda dessa versioner av SQL Server når slutet av sin supportlivscykel tillsammans kommer du inte längre att kunna få viktiga säkerhetsuppdateringar. Detta kan orsaka allvarliga säkerhets- och efterlevnadsproblem för din organisation.

När dessa versioner av SQL Server släpptes kom de med 10 års support; 5 år av Mainstream Support och 5 år av Extended Support. Om din organisation fortfarande har SQL Server 2008/2008 R2 i produktion, hur planerar din organisation att hantera risken? För organisationer som är hårt reglerade är detta ett stort problem.

Du måste välja hur du ska migrera och vart du ska migrera till, och sedan se till att du inte kommer att stöta på några vägspärrar på vägen.

Verktyg för migrationsbedömning

Om du planerar en uppgradering från SQL Server 2008/2008 R2 har Microsoft gjort det mycket lättare att testa och validera din miljö. Det finns många verktyg som kan hjälpa till med migrationsbedömningar och till och med hantera migreringsuppgifter, och de är alla lite olika. Dessa verktyg inkluderar:

  • Datamigreringsassistent
  • Microsoft Assessment and Planning Toolkit
  • Azure Database Migration Service
  • Databasexperimentassistent

Datamigreringsassistenten hjälper dig att uppgradera till en modern dataplattform. Den gör detta genom att upptäcka kompatibilitetsproblem som kan påverka funktionaliteten på den nyare versionen av SQL Server och ger rekommendationer för prestanda- och tillförlitlighetsförbättringar för den nya miljön. Din källa kan vara SQL Server 2005+ med målet SQL 2012+ och Azure SQL Database.

Microsoft Assessment and Planning Toolkit har funnits i många år och kallas ofta för MAP Tool. Det är bra för att göra en inventering av din nuvarande miljö för att hitta var SQL Server (och andra applikationer) finns.

Azure Database Migration Service integrerar en del av funktionerna i befintliga verktyg och tjänster för att ge kunderna en heltäckande lösning för migrering till Azure. Verktyget genererar utvärderingsrapporter som ger rekommendationer för att vägleda dig genom alla ändringar som krävs innan du utför en migrering. Den här tjänsten kräver för närvarande en VPN eller Express Route.

Slutligen, Database Experimentation Assistant är en ny A/B-testlösning för SQL Server-uppgraderingar och det är ett verktyg du bör bekanta dig med. Det utnyttjar Distributed Replay för att fånga en arbetsbelastning och spela om den mot en mål-SQL-server. Detta kan användas för att testa hårdvaruändringar eller versionsskillnader för SQL Server. Du kan fånga arbetsbelastningar från SQL Server 2005 och uppåt.

Migreringsalternativ

Uppgradering på plats: En av de enklaste migreringsmetoderna är att uppgradera till en nyare version av SQL Server. I det här fallet har du SQL Server 2012, 2014, 2016 eller 2017 att välja mellan. Jag uppmuntrar kunder att uppgradera till den senaste versionen som de kan. SQL Server 2012 är redan borta från Mainstream Support och SQL Server 2014 går ut från Mainstream Support den 9 juli 2019. Uppgradering kan vara mycket tidskrävande och kostsamt för organisationer på grund av all planering och testning, så att flytta till den senaste versionen kan vara mycket tidskrävande och kostsamt för organisationer. öka tiden innan nästa uppgradering. Det finns också många prestanda- och funktionsförbättringar i SQL Server 2016 och 2017 som gör migrering till SQL Server 2012 eller 2014 till ett mycket dåligt val för närvarande.

Ett vanligt tillvägagångssätt för lokala uppgraderingar är att bygga nytt och migrera, oavsett fysisk eller virtuell miljö. Genom att bygga nytt kan du återställa dina databaser och genomföra många test- och valideringsrundor för att säkerställa att allt fungerar som förväntat innan du flyttar produktionen.

Uppgradera och migrera till en virtuell Azure: För organisationer som vill migrera till molnet är Azure Infrastructure as a Service (IaaS) ett utmärkt alternativ. Att köra SQL Server på en Azure VM är ungefär som lokalt. Du anger storleken på den virtuella datorn (antal vCPU:er och minne) och konfigurerar din lagring för dina I/O och storlekskrav. Du är fortfarande ansvarig för att stödja OS och SQL Server för konfiguration och patchning. Azure IaaS ger dig möjligheten att enkelt skala dina arbetsbelastningar genom att skala upp eller ner storleken på din virtuella maskin när dina arbetsbelastningsbehov förändras, samt dra fördel av Azure Active Directory-integration, hotdetektering och många andra Azure-fördelar.

Migrera till Azure SQL Database: Ett annat alternativ du har är att migrera till Azure SQL Database. Azure SQL Database kan ses som en Database as a Service och är en del av Microsofts Platform as a Service (PaaS). Azure SQL Database-funktionalitet är databasomfattande, vilket innebär att vissa saker som korsdatabasfrågor, SQL Server Agent, Database Mail och mer inte är tillgängliga. Men många kunder som har applikationer som använder en enda databas har kunnat migrera till Azure SQL Database med minimal ansträngning. Du kan snabbt testa för kompatibilitet med Azure SQL Database genom att använda Data Migration Assistant. Med Azure SQL Database kan du dimensionera dina databaser efter DTU (Database Transaction Units) eller vCores individuellt, eller gruppera databaser i en Elastic Pool. Azure SQL Database låter dig skala upp och ner dina resurser med minimal ansträngning och stilleståndstid.

Migrera till Azure SQL Managed Instance: Ett nytt alternativ (från 2018) är att migrera till Azure SQL Managed Instance. Det här är en ny produkt som för närvarande är allmänt tillgänglig från och med 1 oktober för den allmänna nivån. Managed Instance byggdes med hjälp av programmeringsmodellen på instansnivå. Detta innebär att funktionalitet vi är vana vid med den fullständiga versionen av SQL Server stöds. Målet med Managed Instance är att ha 100 % ytakompatibilitet med lokaler. Alla databaser i instansen finns på samma server, så korsdatabasfrågor stöds, liksom Database Mail, SQL Server Agent, Service Broker och mycket mer. Det finns två prisnivåer; General Purpose, som inkluderar en oläsbar sekundär för HA, och Business Critical, som har två oläsbara sekundärer och en läsbar sekundär. Managed Instance är en del av Microsofts PaaS-erbjudande, så du får alla inbyggda funktioner och funktionalitet i PaaS.

Flytta som det är till Azure Virtual Machines: Microsoft erbjuder tre år av utökade säkerhetsuppdateringar utan extra kostnad om du flyttar dina SQL 2008/SQL 2008 R2-instanser till en virtuell Azure. Målet är att ge dig lite mer tid att uppgradera till en nyare version av SQL Server när du är redo.

Betala för att stanna: Detta är inte ett migreringsalternativ, men du har möjlighet att köpa upp till tre års utökade säkerhetsuppdateringar. Det finns begränsningar kring detta alternativ. Du måste ha aktiv Software Assurance för dessa instanser eller prenumerationslicenser under ett företagsavtal. Om detta gäller dig kan det här alternativet ge dig mer tid att planera och migrera från SQL Server 2008/2008 R2.

Bästa metoder för migrering

När du utför någon migrering eller uppgradering finns det vissa saker du måste vara medveten om. För det första behöver du baslinjer och jag kan inte betona detta nog. Varje gång du gör en förändring i en miljö måste du kunna mäta hur den förändringen påverkar miljön. Att känna till nyckelprestandamått för din miljö kan hjälpa dig när du felsöker eventuella upplevda effekter. Du kan samla in dessa mätvärden manuellt med perfmon och DMV:er eller investera i en prestandaövervakningsplattform. Jag skrev om båda teknikerna mer i detalj i ett tidigare inlägg, och just nu du kan få en utökad 45-dagars utvärdering av SentryOne . Att ha baslinjestatistik för saker som CPU-användning, minnesförbrukning, diskmått och mer kan snabbt meddela dig om saker och ting ser bättre eller sämre ut efter en uppgradering eller migrering.

Du bör också notera dina konfigurationsalternativ i din instans. Många gånger har jag blivit ombedd att titta på en SQL Server-instans efter en uppgradering eller migrering och upptäckt att de flesta av standardinställningarna används. Om det gamla systemet fortfarande är tillgängligt kan jag fråga det och hämta de tidigare icke-standardvärden som fanns på plats och tillämpa dem på den nya miljön för att få dem tillbaka till en känd konfiguration. Det är alltid bra att granska sys.configurations på din produktionsserver för att överväga att göra liknande ändringar i din nya miljö (kostnadströskel för parallellitet, maxgrad av parallellism, optimera för ad hoc-arbetsbelastningar och mer.) Observera att jag skrev 'överväg'. Om ditt kärnantal eller minne är annorlunda på den nya servern måste du konfigurera inställningarna med hänsyn till den nya serverns storlek.

Vad är din backout-plan om det går fel? Har du ordentliga säkerhetskopior som du kan gå tillbaka till? I de flesta fall med en uppgradering eller migrering flyttar du till en ny virtuell dator eller fysisk server. Din failback kan vara att flytta tillbaka till den gamla servern. Om du har ändrat data i den nya versionen av SQL Server är din failback mycket mer komplicerad. Du kan inte återställa en säkerhetskopia av SQL Server-databas från en nyare version av SQL Server till en äldre version.

Slutsats

Om du fortfarande använder SQL Server 2008 eller SQL Server 2008 R2, har du några alternativ tillgängliga för dig för att följa efter 9 juli 2019. För att stanna kvar på SQL Server 2008 eller SQL Server 2008 R2 kan du köpa utökade säkerhetsuppdateringar eller flytta till en virtuell Azure-maskin om du kvalificerar dig. Om du kan uppgradera kan du migrera till en version av SQL Server som stöds lokalt eller på en Azure VM eller överväga att migrera till en hanterad lösning som Azure SQL Database eller Azure SQL Managed Instance.


  1. Datareplikering i IRI Workbench

  2. Android:Hur begär jag en markör för att uppdatera ListView efter att ha raderat databasraden?

  3. Skapa en tillfällig tabell baserad på en annan tabell i SQL Server

  4. ClassCastException:java.math.BigInteger kan inte castas till java.lang.Long på att ansluta till MySQL