Może się tak zdarzyć podczas instalacji wszystkich wersji SQL Server Express (with Advanced Services) na jednym systemie, a więc: SQL Server 2005> 2008>2008R2>Denali, że pomiedzy pierwszymi instalacjami (a konkretnie w trakcie instalacji SQL Server Express 2008) napotkamy ścianę prawie nie do przejścia. Objawia się ona takim oto błędem:
Błąd ten występuje na przykład w takiej konfiguracji: po zainstalowaniu SQL Server 2005 Express Edition with Advanced Services + SP4 + CU3 + Security Updates. W omawianym przypadku aplikacja jest 32 bitowa, zaś system operacyjny to Windows 7 SP1 x64.
W pierwszej chwili można by pomyśleć o odinstalowaniu narzędzi (SQL Server 2005 Express Tools), ale to nie jest: po pierwsze proste, po drugie konieczne, po trzecie zalecane. Jeśli popatrzymy na zainstalowane programy i aplikacje, to w bezpośredni sposób nie mamy możliwości odinstalowania wymienionych narzędzi:
Jak widać z narzędzi dla wersji 9 (czyli naszego SQL Server 2005) mamy tylko… SQL Server Management Studio Express, które mimo wszystko może nam się przydać. Wprawdzie będziemy mogli dostać się do naszego serwera za pomocą nowszej wersji SSMS, ale nie zawsze chcemy się pozbywać starszej. Aby uczynić mały wyłom w naszej ścianie przyjrzyjmy się rejestrowi systemowemu.
Ponieważ mamy do dyspozycji dwie wersje platformy systemu operacyjnego (32 i 64 bitową), jak również SQL Server (znów 32 i 64 bitową) musimy pamiętać o położeniu plików oraz oczywiście wpisów rejestru. Za powstanie naszej “ściany” odpowiedzialny jest bezpośrednio klucz ShellSEM, który powinniśmy znaleźć pod adresem: HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM
… ale musimy pamiętać o różnicach platformy i oprogramowania. Ponieważ w naszym przypadku pracujemy na x64 a instalujemy x32, system korzysta z WOW (Windows-On-Windows). Musimy więc udać się do innej gałęzi naszego rejestru: Computer\KLM\SOFTWARE\Wow6432\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM
Na wszelakich forach znaleźc możemy opis: “DELETE THIS REGISTRY KEY” ale ja jestem daleki od tego*. Po pierwsze może nam to przynieść więcej szkody niż pożytku (na wypadek, gdyby kiedyś okazał nam się on potrzebny… na przykład do odinstalowania SQL Server 2005), a po drugie – mamy przecież miejsce na dysku i możemy go spokojnie trzymać. Lepiej więc jest zmienić jego nazwę na: Computer\KLM\SOFTWARE\Wow6432\Microsoft\Microsoft SQL Server\90\Tools\ ShellSEM.oldreg
Pozwoli nam to zarówno na instalację nowej wersji obok starej (błąd w szóstej linijce nie występuje), jak również na kontrolowanie naszego środowiska.
* daleki od tego powinien być też każdy administrator rozpoczynajacy pracę z rejestrem. Z praktyki własnej, mogę powiedzieć, że lepiej jest nie wyrabiać w sobie nawyku i/lub upodobania do kasowania gałezi rejestru (od tak, jakoś od niechcenia i na luzie), chyba że jest się jednym z takich wyjadaczy jak Grzegorz, Tomek czy Karol (adresaci się rozpoznają).




































