Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dodatek Service Pack 1 dla programu SQL Server 2012 i aktualizacja zbiorcza 1

Niedawno firma Microsoft wypchnęła Service Pack 1 dla SQL Server 2012 i szybko podążyła za aktualizacją zbiorczą 1 dla Service Pack 1. Powodem tego jest to, że dodatek Service Pack – ze względu na dłuższe cykle rozwoju i testowania regresji – nie zawierał żadnych poprawek z RTM Cumulative Updates 3 i 4. Ponieważ wiele osób czekało – w oparciu o w większości spekulacje w tym momencie – nawet z rozpoczęciem testowania SQL Server 2012 do wydania Service Pack 1, pomyślałem, że przydatne może być omówienie kilku scenariuszy, które możesz napotkać. Nie jest to post ściśle związany z wydajnością, ale niektóre informacje wiążą się z przerwami w świadczeniu usług, które mogą, ale nie muszą wpływać na Twoją firmę, umowy SLA itp.

AKTUALIZUJ – SQL Server 2012 Service Pack 1 Zbiorcza aktualizacja 2 (11.0.3339) została wydana 24.01.2013.

Jeśli SQL Server 2012 nie jest jeszcze zainstalowany…

Podczas instalowania nowej instancji programu SQL Server chcesz wykonać jak najmniej kroków. Instalator SQL Server 2012 znacznie lepiej radzi sobie z dołączaniem zarówno dodatków Service Pack, jak i aktualizacji zbiorczych niż SQL Server 2008/2008 R2 (opisany przez Petera Saddowa tutaj i tutaj). Ta metoda jest przestarzała, ale nadal jest obsługiwana w SQL Server 2012. Więc chociaż nadal możesz używać starej metody, jeśli chcesz:

D:\setup.exe /Action=Install /PCUSource=C:\SP1ExtractedFolder /CUSource=C:\CU1ExtractedFolder

Nowa metoda, której powinieneś używać, jest znacznie prostsza – i nie wymaga ręcznego wyodrębniania pakietów za pomocą /x pierwszy argument:

D:\setup.exe /Action=Install /UpdateSource=C:\AllUpdatesFolder

Wystarczy umieścić wszystkie odpowiednie aktualizacje w tym samym folderze. Zauważ, że każda aktualizacja, którą otrzymasz z nazwą pliku [...]_zip.exe , musisz wyodrębnić, aby uzyskać plik wykonywalny rdzenia. Na przykład po pierwszym pobraniu dodatku Service Pack 1 i aktualizacji zbiorczej 1 folder pobierania będzie wyglądał następująco:

Musisz rozpakować 455715_intl_x64_zip.exe klikając go dwukrotnie i wybierając ścieżkę wyjściową (za pomocą /x w wierszu poleceń jest poprawny, ale ignorowany). Po zakończeniu folder powinien wyglądać tak. (W tym momencie możesz usunąć 455715... plik – chociaż biorąc pod uwagę, jak jest „skompresowany”, muszę się zastanowić, dlaczego nadal umieszczają ten pakiet w samorozpakowującym się archiwum.)

Teraz, gdy uruchomisz powyższy wiersz poleceń, po przejściu do ekranu aktualizacji produktu w konfiguracji, powinieneś zobaczyć, że zawiera on zarówno dodatek SP1, jak i CU1:

Bob Ward wykonuje bardzo dobrą robotę, opisując ten scenariusz bardziej szczegółowo tutaj:

Blog CSS :Konfiguracja SQL Server 2012 właśnie stała się inteligentniejsza…

Pamiętaj, że możesz przechowywać wszystkie swoje dodatki Service Pack i aktualizacje zbiorcze w tym samym folderze — jeśli użyjesz /UpdateSource argument, konfiguracja programu SQL Server będzie wystarczająco sprytna, aby wybrać najnowszy SP i jego najnowszą jednostkę CU, niezależnie od tego, co jeszcze może znajdować się w tym folderze.

Jeśli SQL Server 2012 jest już zainstalowany…

Ponownie, wszystkie te informacje mają zastosowanie, jeśli instalujesz nową instancję SQL Server. Z drugiej strony mam kilka instancji SQL Server 2012 RTM, które chciałem załatać – a ponieważ nie chciałem stracić żadnej z poprawek z aktualizacji zbiorczej 3 i 4, chciałem zastosować oba dodatki Service Pack 1 i Zbiorcza aktualizacja 1. Miałem nadzieję, że te same inteligentne rozwiązania typu slipstream zostaną wbudowane w plik wykonywalny instalacji dodatku Service Pack 1, tak aby mógł po prostu zawierać aktualizacje CU1. Spróbowałem logicznego:

C:\AllUpdatesFolder\SQLServer2012-SP1-KB2674319-x64-ENU.exe /UpdateSource=C:\AllUpdatesFolder

Ale to ostatecznie doprowadziło do następującego błędu:

O dobro w wyszukiwarkach:

The setting 'UpdateSource' is not allowed when the value of setting 'ACTION' is 'Patch'.
Error code 0x84B40005.

(I tak, próbowałem umieścić wyodrębniony folder aktualizacji CU1 w innej lokalizacji).

Potwierdziłem z Microsoftem, że chociaż dodatek SP1 oczywiście zawiera część kodu i logiki z core setup.exe, nie został on zbudowany, aby umożliwić włączenie aktualizacji zbiorczych. Innymi słowy, nie można zastosować podczas instalacji dodatku Service Pack, tylko podczas instalacji produktu podstawowego.

Oznacza to również, że musisz przeprowadzić instalację w dwóch krokach . Otworzyłem nową sugestię Connect, ponieważ przesyłanie strumieniowe jest prawdopodobnie *bardziej* cenne podczas serwisowania niż podczas początkowej instalacji:

Połącz #774109 :Zezwól na /UpdateSource dla instalatorów Service Pack

Więc przystąpiłem do tego w dwóch krokach. Zainstalowałem Service Pack 1 i zauważyłem, że nie są używane żadne pliki, które mogłyby wymagać ponownego uruchomienia:

A potem, gdy SP1 był gotowy, uruchomiłem instalator SP1 CU1. Jednak natknąłem się na ten błąd:

Więc nie tylko musiałem wykonać dwa kroki, aby zastosować te poprawki, ale także musiałem zrestartować komputer w międzyczasie. Sprawdziłem pliki dziennika dla każdej instalacji (Detail.txt ) i widzę, że kiedy uruchomiłem SP1, nic nie wskazywało na to, że Windows spodziewał się ponownego uruchomienia:

(07) 2012-12-12 06:46:38 Slp: Rule 'RebootRequiredCheck' results: IsRebootNotRequired=True

Ale kiedy uruchomiłem CU1 i otrzymałem błąd, zaledwie kilka minut po ukończeniu dodatku SP1, zobaczyłem nowy Detail.txt że teraz Windows *oczekiwał* ponownego uruchomienia:

(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

Nie jestem pewien, co się stało, ponieważ z pewnością nie uruchomiłem Windows Update między krokami.

AKTUALIZACJA:Dzięki Shau Phang w firmie Microsoft odkryliśmy w %SystemRoot%\WindowsUpdate.log że automatyczna aktualizacja systemu Windows rozpoczęła się po uruchomieniu dodatku SP1 i zakończyła się przed rozpoczęciem aktualizacji CU. Przypuszczam, że dzieje się tak dlatego, że obudziłem komputer i natychmiast zacząłem instalować dodatek Service Pack; w międzyczasie musiało zostać uruchomione sprawdzenie „konieczności ponownego uruchomienia”. Przyjąłbym za to pełną odpowiedzialność, gdybym właśnie włączył Windows Update i zaakceptował ustawienie domyślne; ale ja nie. Oto moje ustawienia:

Więc bądź ostrożny.

Wniosek

Morał z tej historii jest taki, że jeśli nie zainstalowałeś jeszcze SQL Server 2012, przesyłanie strumieniowe w celu uzyskania najnowszej aktualizacji w jednej akcji – niezależnie od tego, kiedy się do niej dostaniesz i jakie aktualizacje są dostępne w danym momencie – będzie być proste i bezbolesne.

Jeśli masz już zainstalowaną instancję, w którym to przypadku zakłócenie i przestój usługi prawie zawsze będą bardziej krytycznym problemem niż podczas nowej instalacji, musisz ostrożnie podejść do metodologii instalowania poprawek i upewnić się, że okno konserwacji pozwoli do ponownego uruchomienia serwera, jeśli jest to wymagane. Oznacza to również:bądź świadomy swoich ustawień Windows Update i tego, czy jakieś aktualizacje zostały zainstalowane od ostatniego ponownego uruchomienia.

Jeśli uważasz, że jest to ważna kwestia, zagłosuj na te elementy Connect i, co ważniejsze, skomentuj, jak obecny scenariusz może wpłynąć na Twoją firmę.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uniknąć pojedynczego cytatu w programie SQL Server?

  2. Ostatnio wykonane zapytania dla określonej bazy danych

  3. ACOS() Przykłady w SQL Server

  4. czy istnieje przewaga varchar(500) nad varchar(8000)?

  5. datetime do totalminute w sql