Den senaste tiden har det varit många lite nervösa spekulationer här och här) om vilka hög tillgänglighetsalternativ som kommer att finnas tillgängliga för SQL Server Standard Edition, när Database Mirroring (DBM) faktiskt tas bort i en framtida version av SQL Server.
Database Mirroring (DBM) fasades ut i SQL Server 2012, där Microsoft föreslår att du migrerar till AlwaysOn Availability Groups (som kräver SQL Server Enterprise Edition), och noterar vidare:"Om din utgåva av SQL Server inte stöder AlwaysOn Availability Groups, använd logfrakt”.
Det exakta utfasningsspråket var "Följande SQL Server Database Engine-funktioner stöds i nästa version av SQL Server, men kommer att tas bort i en senare version. Den specifika versionen av SQL Server har inte fastställts. Dessa funktioner är planerade att tas bort i en framtida version av SQL Server. Utfasade funktioner bör inte användas i nya applikationer.”
Betyder detta att du omedelbart ska sluta använda Databas Mirroring för nya applikationer? Jag skulle säga, "Självklart inte!" Databasspegling fortsätter att fungera precis som det har gjort tidigare, och det kommer inte att tas bort från produkten på ett tag. Om det är vettigt att använda DBM för att hjälpa dig att uppfylla dina mål för återställningspunktsmål (RPO) och återhämtningstidsmål (RTO), fortsätt sedan och använd den funktionen för nya applikationer. Till skillnad från en föråldrad T-SQL-språkfunktion (som kan vara mycket svårare att skriva om, testa och distribuera) kommer det att bli mycket lättare att byta från DBM till någon annan HA/DR-teknik i framtiden.
Historiskt sett har en utfasad SQL Server-funktion faktiskt inte tagits bort för tre större versioner efter versionen när utfasningen offentliggjordes. Om Microsoft följer det mönstret kommer databasspegling faktiskt inte att tas bort förrän "SQL Server 2018" (med tanke på SQL Server 2014, en spekulativ "SQL Server 2016" och en ännu mer spekulativ "SQL Server 2018").
Enligt Mary Jo Foley bör SQL Server 2014 vara tillgänglig i början av 2014. Låt oss anta att "SQL Server 2016" är tillgänglig i januari 2016 och "SQL Server 2018" är tillgänglig i januari 2018. Om denna helt spekulativa versions tidslinje slutade att vara korrekt, skulle det innebära att en SQL Server Standard Edition-kund fortfarande skulle kunna använda Database Mirroring i "SQL Server 2018", som skulle förbli i mainstream-stöd från Microsoft till januari 2023, och skulle ha utökat stöd till januari 2028 Det är ganska lång tid kvar!
Detta ger Microsoft (och deras Standard Edition-kunder) gott om tid att komma med en hållbar ersättning för Database Mirroring. Microsoft har flera självklara val här. För det första kan de ångra beslutet om avskrivning för DBM. Det skulle inte kräva något utvecklings- och testarbete från Microsoft, men det skulle utöka supportbördan för DBM längre in i framtiden. För det andra kan de tillåta en begränsad version av tillgänglighetsgrupper i SQL Server Standard Edition (begränsat till en eller två repliker). För det tredje verkar det mycket troligt att det kommer att finnas någon funktion relaterad till Azure som kommer att erbjudas som en ersättning för DBM). Det kan också finnas någon helt ny HA/DR-teknik tillgänglig då.
SQL Server Standard Edition-kunder har flera självklara val för vad de ska göra när DBM närmar sig att tas bort från produkten. Först kunde de välja att helt enkelt stanna på en version av SQL Server som fortfarande använder databasspegling (vilket kan vara vilken version som helst från SQL Server 2005 upp till min imaginära "SQL Server 2018"). För närvarande finns det fortfarande ett stort antal SQL Server-kunder som gärna använder äldre versioner av SQL Server, som SQL Server 2000 och SQL Server 2005, och det är troligt att trenden kommer att fortsätta. Enligt min erfarenhet tenderar organisationer som väljer eller behöver använda SQL Server Standard Edition av någon anledning också vara långsammare att uppgradera till nya versioner av SQL Server eftersom de släpps av Microsoft.
För det andra kan de flytta upp till SQL Server Enterprise Edition någon gång under de kommande åren. Det finns trots allt massor av övertygande funktioner i SQL Server Enterprise Edition som är väldigt bra att använda för en affärskritisk applikation som faktiskt är nyckeln till ditt företag. Många organisationer kan hitta möjligheten att ha råd med SQL Server Enterprise Edition någon gång i framtiden, av ett antal anledningar.
För det tredje är jag säker på att det kommer att finnas många starka incitament från Microsoft för kunder att helt enkelt flytta mycket av sin databasinfrastruktur till Azure under de kommande åren. Detta kan vara ett fullt genomförbart alternativ i många situationer.
Naturligtvis kommer inte alla att vara nöjda med något av dessa alternativ. Om du verkligen är orolig över utfasningen av Database Mirroring (utan att en helt genomförbar ersättning tillkännages offentligt), har du ett antal alternativ.
Först kan du överväga att lugna ner dig och vänta lite längre för att se vad som händer när vi lär oss mer om framtida versioner av SQL Server allt eftersom. Det är mycket troligt att Microsoft inte har fattat några slutgiltiga beslut på detta område (men du kan slå vad om att de har tänkt på det). Du kan också försöka kontakta personer du känner i produktgruppen privat för att göra ditt ärende. Den minst effektiva strategin (åtminstone enligt min erfarenhet) skulle vara att högljutt och offentligt klaga på detta problem, särskilt innan Microsoft har meddelat sina avsikter för framtiden. Att vara det offentliga "pipande hjulet" är ibland kontraproduktivt...
Vad tycker du om detta? Är utfasningen av Database Mirroring (utan annonserad, hållbar ersättning för Standard Edition) ett stort problem för dig? Är detta en del av en storslagen design för att tvinga dig att använda Enterprise Edition eller Azure? Jag skulle älska att höra dina tankar!