SCE 2007 vs. SQL 2005 Express

Működött szépen a teszt SCE 2007 rendszerem, azonban a jelentéseknek elég kis része jelenített meg a fejlécen kívül bármit is. Némi keresgélés után rábukkantam erre a fórumbejegyzésre:

"If you are running with SQL Express Advanced or the SQL install that is available as part of SCE setup, charts that use external charting controls will fail to display the graph due to limitations of the SQL Express product."

Valahol egyszer láttam olyan listát, hogy pontosan melyik diagramok nem mennek, de most még egyszer rákeresve nem találtam már meg azt az oldalt:). A lényeg, hogy pár fontosabb jelentés is hiányos volt, és nem tudtam eldönteni, hogy a fenti miatt, vagy azért, mert még nem futott elég ideje az SCE és csak nem gyűjtött adatot. Azonban volt kéznél SQL 2005-ből egy Enterprise verzió is, így gondoltam gyorsan meg is oldhatjuk a problémát. A telepítő szépen szólt, hogy talált egy már meglévő példányt, és ha ezt akarom frissíteni, akkor az SKUUPGRADE=1 kapcsolóval kell indítani a telepítőt. Ezt megadva minden csodásan ment, megtalálta az SCE nevű adatbázis motort példányt és a Reporting Services példányt is, az adatbázist frissítette is, azonban a Reporting Services-en elhasalt:

SQL Server Setup did not have the administrator permissions required to copy a file: C:\Program Files\Microsoft SQL Server\MSSQL.4\Reporting Services\ReportServer\rssrvpolicy.config. To continue, verify that the file exists, and either grant administrator permissions to the account currently running Setup or log in with an administrator account. Then run SQL Server Setup again.

Ellenőriztem, a fájl ott volt, volt hozzá joga is, így értetlenül álltam a probléma előtt. SQL telepítő újraindít, varázslót végignyomkod, ~10 perc molyolás, majd ugyanaz a hibaüzenet. Most már félúton nem nagyon lehetett megállni, az adatbázis szerver része már Enterprise volt, a Reporting Services pedig csak Express, így elővettem a Process Monitort. Végignéztem a fájl hozzéféréseket, látja a fájlt, aztán nem látja, holott a fájl ott van. Néztem vagy 10 percig a logot, mire kiszúrtam, hogy jó fájlt keres, csak rossz helyen!

sql-rs-install-error

Na, ki veszi észre, mi a hiba? Az utolsó 3 sorban már nem az MSSQL.4 könyvtárban, hanem MSSQL.2 könyvtárban keresi a fájlt! Egyre szélesebb vigyorral, örülve, hogy végre megvan a hiba, és kárörvendve, hogy ilyen buta bug van az SQL Server telepítőjében, még egyszer lefuttattam a telepítőt és közben figyeltem a ProcMon kimenetét, ami megerősített a gyanúmban. Szerintem a következő történt:

  1. A telepítő megtalálja az SQL Express-es Reporting Services-t. Azonban ez az SCE által felrakott verzió, így nem a C:\Program Files\Microsoft SQL Server\MSSQL.2 könyvtárban van, hanem a C:\Program Files\System Center Essentials 2007\Microsoft SQL Server\MSSQL.2 (A .1 példány az adatbázis szerver, a .2 pedig a Reporting Services szokott lenni általában).
  2. Kiolvassa a Reporting Services konfigurációs állományát, a rssrvpolicy.config fájlt, helyesen a C:\Program Files\System Center Essentials 2007\Microsoft SQL Server\MSSQL.2 könyvtárból, és megkezdi a frissítést.
  3. Megnézi, hogy van-e már az új helyen konfig fájl: C:\Program Files\Microsoft SQL Server\MSSQL.4\Reporting Services\ReportServer\rssrvpolicy.config. Megnyukszik, hogy nincs még MSSQL.4 könyvtár, és ide rakja az új Reporting Services-t. Létrehozza a könyvtárat, és felmásolja a fájlokat.
  4. Miután fent vannak a Reporting Services alap fájljai, át akarja rakni a régi konfig fájljait. Ám figyelem, itt jön a varázslat, ezeket nem a C:\Program Files\System Center Essentials 2007\Microsoft SQL Server\MSSQL.2 könyvtárban keresi, hanem a C:\Program Files\Microsoft SQL Server\MSSQL.2 könyvtárban, ahol az alapértelmezett beállításokkal telepített Reporting Services lenne!
  5. Tehát két dolgot szúrtak el a telepítő programozói: 1, nem a korábban megtalált helyen keresik a konfig fájlt. 2, nem azt írják ki, hogy nem tudják a régit olvasni, hanem, hogy nem tudják az újat írni, így esélytelen a hibaüzenet alapján megtalálni, hogy mi a gond:)

Megörültem, hogy végre megvan a gond, azonban azon kívül, hogy megírtam az SQL Server fórumjába, nem tudtam mit tenni vele. Búsan üldögéltem, ám szerencsére az egyik kollégám, látva az iszonyat hosszú log fájlokat a monitoromon, megkérdezte, mi a gond. Elmeséltem neki, és Ő egyből rávágta a triviális megoldást: miért nem másolom át a meglévő Reporting Services példányt a C:\Program Files\Microsoft SQL Server\MSSQL.2 könyvtárba, hamár egyszer úgyis ott keresi. Természetesen így már működött a dolog, úgyhogy utólag is köszi Dani!

Mission accomplished! Azaz csak lenne, mert a fő cél nem az SQL frissítés lett volna, hanem az SCE jelentéseit megnézni. El is indítottam az SCE konzolt, azonban már az első jelentés is hibát dobott: valami gond van a Reporting Services hozzáférésével. Erre még találtam valami fórum bejegyzést ami segített, ám utána már csak rosszabb lett, most már valami assembly-t nem talált. Szóval küzdöttem vagy fél napot a frissítéssel, aztán a Reporting Services csak nem akart működni:-)

A történethez még hozzátartozik, hogy végül úgy döntöttem, hogy akkor nézzünk egy új SCE telepítést, ahol már Enterpise verziójú eleve az SQL Server. Volt egy korábbi virtuális gépem, amin már volt SQL Server 2005, gondoltam, azt újra felhasználom, hogy időt spóroljak és ne kelljen SQL-t telepíteni (mekkora tévedés, mint később kiderült:). Kicsit régi volt a virtuális gép, úgyhogy windows update először, utána gép átnevezése, dcpromo-val AD telepítés, majd SCE telepítő. És itt jött a meglepetés, a telepítőben az adatbázis kiválasztásánál nem találta meg a helyi SQL-t. Még javasolta is segítőkészen, hogy kell Reporting Services-nek lennie fent, hogy tudjam azt használni, de hát az fel volt telepítve. Az SCE súgóját nézegetve lettem figyelmes, hogy Reporting Services SP1 kell neki, hátha ez a gond. Kerítettem egy SQL Server SP2-t, és elkezdtem telepíteni, azonban a Reporting Services-re problémát jelzett. Hát már ennek se jó a Reporting Services fent lévő példánya?:) Megnéztem az RS beállításait, és kiderült a gond, elég skizofrén állapotban volt, úgy tudta, hogy mindene be van rendesen állítva, csak az összes beállításait tartalmazó adatbázis szervert a virtuális gép régi nevén kereste! Most már eszembe jutott, hogy nem annyira jó dolog átnevezni az SQL Server alatt a gépet. Az adatbázis szerver komponens problémáját most is megoldotta a sysservers tábla tartalmának módosítása az sp_drobserver és sp_addserver tárolt eljárásokkal, azonban a Reporting Service továbbra is haldoklott. Itt ("server name can not resolved after rename server") találtam még tanácsokat, azonban ez sem segített, hiába mósosítottam a konfig fájlt, utána hiába írtam át a felületen az adatbázis szerver nevét, nem tudta elmenteni. Még a registry-t is végignéztem, hogy hol tárolhatja ezt a beállítást, de nem találtam meg. Úgyhogy megadtam neki a kegyelemdöfést, és leszedtem az egész SQL Servert, felraktam újra, rákerült az SP2, majd simán felment az SCE és most már mentek a jelentések is. Most már tényleg mission accomplished..

Kiegészítés: az upgrade szóhoz nem találtam jó magyar megfelelőt, a szótár által javasolt feljavít elég bután hangzik, így a frissít szót használtam ehhez is. Így azonban elveszik az angolban jól meglévő különbség: update (frissítés, egy új verzióra például) – upgrade (magasabb minőségűre cserél, pl. próbaverzióból lesz végleges).

Reklámok
Kategória: Tech | Közvetlen link a könyvjelzőhöz.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s