SQL 2005 SP4 (CTP) – köszönjük az eddigi munkát

A Microsoft, ígéretéhez híven kiadta az SQL 2005 SP4-et, illetve egyelőre csak a CTP-t, szóval lehet tesztelni, meg efféle. Ami a rutinos tekinek szemet szúrhat rögtön, az a release notes rövidsége, illetve a “List of the bugs that are fixed in SQL Server 2005 Service Pack 4 CTP” KB cikk tömörsége, főleg ha összevetjük az SP3-éval. Tulajdonképpen ez nem más, mint az összes eddigi SP3 cumulative update-nek az egyben való kiadása, vagyis igazából ez egy CU12, nem más. Új feature vagy efféle nincs is benne, csak a CU11-hez adtak még pár javítást. Ez pedig egy dolgot jelent: ez az SP lesz a végső…

Ez persze nem baj, van már SQL 2008 meg SQL 2008 R2, meg még ki sem jött a hivatalos SP4, aminek a kiadásától még lesz egy darabig support – hogy meddig, azt itt lehet majd megnézni, a Microsoft Product Lifecycle oldalon. Ezt egyébként mindenkinek ajánlom, aki új installációt/rendszert/akármit tervez: előbb nézd meg, hogy hogy állsz supporttal, mert pl. ma SQL 2005-re nem érdemes építeni, csak ha nincs jobb dolgod, mint upgrade-elni jövőre, vagy nagy a nyomás. Nincs annál kellemetlenebb, mint amikor az ember felhívja a supportot, és ők kedvesen közlik, hogy két hónapja not supported az SP, amit használsz, please upgrade és aztán telefonálj megint. Na jó, van egy csomó, de sarkítani akartam.

Jogos kérdés, hogy mi az értelme az SP-nek, ha végül is nem több, mint a CU11 volt? Hát, egyrészt a support így nyúlik majd meg egy kicsit a SQL 2005-nek – lásd fent :) Másrészt pedig a hotfixek meg CU-k olyanok, hogy a Microsoft azt ajánlja, hogy akkor tedd fel őket, ha van valami olyan problémád, ami indokolja. Persze az ember attól még néha patchel, mert nem szeret lemaradni. A MSFT meg azért mondja ezt, mert a CU-k nincsenek úgy rommá tesztelve, mint az SP-k, mert egy SP tesztelés az elég intenzív élmény. Hát ezért. Mindenesetre én az SQL 2005-öt úgy fogom megőrizni az emlékezetemben, mint a verziót, amivel az SQL Server teljesen nagykorúvá vált.

SQL Server 2008 SP2 kiadva!

Hölgyeim és Uraim!

Végre a hőn áhított SQL 2008 SP2 kiadatott. Letölthető innen, a fixált bugok listája pedig a KB2285068 cikkben található. Vigyázat, a lista nem hibátlan, 1-2 dolog biztosan hiányzik belőle, például állítólag a lock escalation problémát javították (mely arról szól, hogy SQL 2008-ban van egy bug, amitől az INSERT-nél elfelejt lockot eszkalálni, és annyi lockot tud produkálni, ahány sort beszúrunk), de nincs a listában. Én meg még nem próbáltam ki. Majd megírom, ha igen.

Szóval lehet vinni tesztelni, meg várni még a SQL 2005 utolsó, negyedik SP-jére, melyet az év utolsó negyedévére ígértek.

SQL Server SP kontra CU

Nemrég jött ki az SQL 2005 SP3, és múlt héten a SQL 2008 SP1. Mindenki patchelheti az SQL-jeit – és természetesen a klienseket, a Management Studiokat is. Eddig ez egy teljesen átlagos történet, az érintett emberek általában már tudják is.

Azt viszont nem mindenki tudja, hogy az SQL patch stratégiájának vannak érdekes mellékhatásai. Ezek megismeréséhez először nézzük meg a stratégiát magát: jönnek ki a hotfixek szépen sorban, de mivel sok van belőlük, időről időre összerakják őket egy nagyobb csomagba, melyet cumulative update néven árulnak. Ezek a megelőző service pack (itt most ő lesz az SP, nem a stored procedure) óta kiadott fixeket tartalmazzák, például az SQL 2005 SP2 CU10 az SP2 utáni tizedik csomag, aminek előfeltétele az SP2 telepítése, de a többi CU telepítése nem. Tehát a CU-k egyfajta “SP-n belüli SP-k”. Ez tiszta sor, nézzük a csavart.

Amikor egy SP-t készítenek, akkor először is meghatározzák a tartalmát. A service pack nemcsak a hotfixeket tartalmazza, hanem ebbe kerülnek bizonyos alkalmazásbeli módosítások is (az SQL 2000 SP4 az “önblokkoló” processzeket is blokkoltnak tünteti fel – jelezve, hogy saját magukat blokkolják; SQL 2005 SP1-be került a mirroring támogatása; az SQL 2008 SP1-be a oneclick installálható ReportBuilder). Így ennek a tesztelése egy kicsit nagyobb falat. Ezt kiválóan mutatja az SQL 2000 SP4 esete, ami végül nem lett tökéletes, elrontotta az AWE támogatást, így gyakorlatilag senki nem használ(t) “csak” SP4-es SQL Server 2000-t, hanem a 8.00.2039-es verziójú SP4-re már tolta is rá a 8.00.2040 verziójú hotfixet, ami az AWE támogatást visszaadta.

Ennek a “scope freeze“-nek a hozadéka a fent említett mellékhatás, ami tulajdonképpen annyi, hogy amikor kijön az új service pack, az nem tartalmaz minden addig kiadott hibajavítást, azokat sem, amiket már kiadtak cumlative update-ben is. Például az SQL 2005-nél az SP2 utolsó két halmozott firssítése (avagy cumulative update-je), a CU11 és CU12 már akkor készült el, amikor az SP3 scope freeze megtörtént. Hasonlóan a SQL 2008 SP1 a CU1-3 hotfixeket tartalmazza, a CU4-et már nem. A CU4-ből majd egy SP1 CU1 lesz hamarosan. Ha valakinek tehát tényleg kellett egy olyan hotfix, ami a CU4-ben volt benne, az ne rakja fel az SP1-et még, hanem várjon a CU4 SP1-es “újrakiadásáig”. Ha esetleg valaki felteszi a CU4-et, majd rá az SP1-et, azt veszi észre, hogy eltűntek a CU4-es hotfixek. Ez ugyanígy áll az SQL 2005-re is.

Tehát a CU-k az SP-k előtt bonyodalmat okozhatnak. A modell jóságáról lehet vitatkozni (épp nemrégiben olvastam egyet, az ihletett erre a postra, szerencsére én kellemetlenségek nélkül ismertem meg ezt még a 2005 SP3 kapcsán), mindenesetre tény, hogy így működik. Egy számomra szimpatikus javaslat volt ennek feloldására, hogy service pack scope freeze után ne adjanak ki cumulative update-eket, csak egyedi hotfixeket, így elkerülhetővé válik az akaratlan folteltávolítás (vagy patch uninstall angolul). Remélem a Microsoft megfogadja ezt a tanácsot, nekem is jobban tetszene.