Nedávno Microsoft vytlačil Service Pack 1 pro SQL Server 2012 a rychle navázal kumulativní aktualizací 1 pro Service Pack 1. Důvodem je, že aktualizace Service Pack – kvůli delším vývojovým a regresním testovacím cyklům – neobsahovala žádné oprav z RTM Kumulativních aktualizací 3 a 4. Protože mnoho lidí čekalo – na základě převážně spekulativního zaujatosti v tomto bodě – dokonce začít testovat SQL Server 2012 až do vydání Service Pack 1, myslel jsem, že by mohlo být užitečné pokrýt několik ze scénářů, se kterými se můžete setkat. Nejedná se výhradně o příspěvek související s výkonem, ale některé informace zahrnují přerušení služby, které může, ale nemusí ovlivnit vaši firmu, smlouvy SLA atd.
AKTUALIZACE – SQL Server 2012 Service Pack 1 Kumulativní aktualizace 2 (11.0.3339) byla vydána 24. 1. 2013.
Pokud SQL Server 2012 ještě není nainstalován…
Při instalaci nové instance SQL Server chcete provést co nejméně kroků. Nastavení SQL Server 2012 je mnohem lepší, pokud jde o streamování jak aktualizací Service Pack, tak kumulativních aktualizací, než SQL Server 2008 / 2008 R2 (popsané Peterem Saddowem zde a zde). Tato metoda je zastaralá, ale je stále podporována v SQL Server 2012. Takže i když můžete stále používat starou metodu, pokud chcete:
D:\setup.exe /Action=Install /PCUSource=C:\SP1ExtractedFolder /CUSource=C:\CU1ExtractedFolder
Nová metoda, kterou byste měli používat, je mnohem jednodušší – a nevyžaduje ruční extrahování balíčků pomocí /x
argument první:
D:\setup.exe /Action=Install /UpdateSource=C:\AllUpdatesFolder
Stačí umístit všechny relevantní aktualizace do stejné složky. Všimněte si, že každá aktualizace, kterou získáte, má název [...]_zip.exe
, musíte extrahovat, abyste získali spustitelný soubor jádra. Například při prvním stažení aktualizace Service Pack 1 a kumulativní aktualizace 1 bude složka pro stahování vypadat takto:
Musíte rozbalit 455715_intl_x64_zip.exe
dvojitým kliknutím na něj a výběrem výstupní cesty (pomocí /x
na příkazovém řádku je platný, ale ignorován). Po dokončení by složka měla vypadat takto. (V tomto okamžiku můžete odstranit 455715...
soubor – i když vzhledem k tomu, jak je „komprimovaný“, musím se divit, proč tento balíček nadále umísťují do samorozbalovacího archivu.)
Nyní, když spustíte výše uvedený příkazový řádek, když se dostanete na obrazovku Aktualizace produktu v nastavení, měli byste vidět, že obsahuje SP1 i CU1:
Bob Ward odvádí velmi dobrou práci, když zde tento scénář popisuje mnohem podrobněji:
Blog CSS:Nastavení SQL Server 2012 je nyní chytřejší…
Pamatujte, že všechny své aktualizace Service Pack a kumulativní aktualizace můžete uchovávat v průběhu času ve stejné složce – pokud použijete /UpdateSource
argument, nastavení SQL Serveru bude dostatečně chytré na to, aby vybralo nejnovější SP a jeho nejnovější CU, bez ohledu na to, co ještě může v této složce existovat.
Pokud je již nainstalován SQL Server 2012…
Opět platí, že všechny tyto informace platí, pokud instalujete novou instanci SQL Server. Na druhou stranu mám spoustu instancí SQL Server 2012 RTM, které jsem chtěl opravit – a protože jsem nechtěl ztratit žádnou z oprav z kumulativních aktualizací 3 a 4, chtěl jsem použít obě aktualizace Service Pack 1. a Kumulativní aktualizace 1. Doufal jsem, že do spustitelného instalačního programu Service Pack 1 budou zabudovány stejné inteligentní funkce slipstream, takže by mohl jednoduše zahrnovat aktualizace CU1. Zkusil jsem logické:
C:\AllUpdatesFolder\SQLServer2012-SP1-KB2674319-x64-ENU.exe /UpdateSource=C:\AllUpdatesFolder
To však nakonec přineslo následující chybu:
Pro vyhledávače:
The setting 'UpdateSource' is not allowed when the value of setting 'ACTION' is 'Patch'. Error code 0x84B40005.
(A ano, zkusil jsem umístit extrahovanou aktualizační složku CU1 na jiné místo.)
Potvrdil jsem společnosti Microsoft, že ačkoli SP1 zjevně obsahuje část kódu a logiky z jádra setup.exe, nebyl vytvořen tak, aby umožňoval začlenění kumulativních aktualizací. Jinými slovy, nemůžete přenášet data při instalaci aktualizace Service Pack, ale pouze při instalaci základního produktu.
To také znamená, že budete muset provést instalaci ve dvou krocích . Otevřel jsem nový návrh Connect, protože slipstreaming je pravděpodobně *cennější* během servisu než během počáteční instalace:
Připojit #774109 :Povolit /UpdateSource pro instalační programy Service Pack
Takže jsem to udělal ve dvou krocích. Nainstaloval jsem aktualizaci Service Pack 1 a všiml jsem si, že nejsou používány žádné soubory, které by mohly vyžadovat restart:
A jakmile byl SP1 dokončen, spustil jsem instalační program SP1 CU1. Narazil jsem však na tuto chybu:
Takže nejen, že jsem musel udělat dva kroky, abych použil tyto záplaty, ale také jsem mezi tím musel restartovat. Podíval jsem se do souborů protokolu pro každou instalaci (Detail.txt
) a vidím, že když jsem spouštěl SP1, nic nenaznačovalo, že Windows očekával restart:
(07) 2012-12-12 06:46:38 Slp: Rule 'RebootRequiredCheck' results: IsRebootNotRequired=True
Ale když jsem spustil CU1 a došlo k chybě, jen pár minut po dokončení SP1, viděl jsem v novém Detail.txt
že nyní Windows *očekával* restart:
(07) 2012-12-12 06:53:38 Slp: Windows Update requires a reboot (07) 2012-12-12 06:53:38 Slp: Rule 'RebootRequiredCheck' results: IsRebootNotRequired=False
Nejsem si jistý, co se stalo, protože jsem určitě mezi jednotlivými kroky nespouštěl Windows Update.
AKTUALIZACE:Díky Shau Phangovi z Microsoftu jsme objevili v %SystemRoot%\WindowsUpdate.log
že automatická aktualizace systému Windows se spustila po spuštění aktualizace SP1 a skončila dříve, než jsem spustil aktualizaci CU. Předpokládám, že je to proto, že jsem probudil počítač a okamžitě začal instalovat aktualizaci Service Pack; mezitím musela být spuštěna kontrola „musí restartovat“. Přijal bych za to plnou odpovědnost, kdybych právě zapnul službu Windows Update a přijal výchozí nastavení; ale neudělal jsem to. Zde jsou moje nastavení:
Takže buďte opatrní.
Závěr
Principem tohoto příběhu je, že pokud jste ještě nenainstalovali SQL Server 2012, slipstreaming, abyste se dostali k nejnovější aktualizaci v jedné akci – bez ohledu na to, kdy se k ní dostanete a jaké aktualizace jsou v danou chvíli dostupné – být jednoduchý a bezbolestný.
Pokud již máte nainstalovanou instanci a v takovém případě bude přerušení služby a výpadek téměř vždy kritičtějším problémem než během nové instalace, budete muset pečlivě přistupovat k metodice záplatování a být si jisti, že vaše okno údržby umožní pro restart serveru, pokud by byl vyžadován. To také znamená:mějte na paměti své nastavení služby Windows Update a to, zda byly od posledního restartu nainstalovány nějaké aktualizace.
Pokud si myslíte, že se jedná o důležitou otázku, hlasujte prosím o těchto položkách Connect a, což je důležitější, komentujte, jak by aktuální scénář mohl ovlivnit vaši firmu.