Microsoft SQL Server
Microsoft SQL Server označovaný také jako MSSQL nebo jen SQL Server je databázový systém od společnosti Microsoft. Nabízí celou řadu funkcí, které od moderní databáze požadujeme.
Verze SQL Serveru
Historii SQL Serveru lze rozdělit na dvě zásadní období. Verze 1. až 7. a verze 8. a vyšší. Starší verze (1. – 7.) jsou totiž založeny na Sybase SQL Serveru a až s verzí 8.0 byl celý systém přepsán. Nás bude proto zajímat vše od verze 8.0 (známé také jako Microsoft SQL Server 2000). Přehled verzí:
- Microsoft SQL Server 1.0 (1989) – založeno na systému Sybase
- Microsoft SQL Server 4.21 (1995)
- Microsoft SQL Server 6.0 (1995)
- Microsoft SQL Server 6.5 (1996)
- Microsoft SQL Server 7.0 (1998)
- Microsoft SQL Server 2000 - 8.0 (2000) – přepsáno jádro
- Microsoft SQL Server 2005 - 9.0 (2005)
- Microsoft SQL Server 2008 - 10.0 (2008)
Výhodou verzí 8.0+ je možnost zpětné kompatibility. Jinými slovy databáze z verze 8.0 poběží i na verzi 9.0 a 10.0, protože lze nastavit režim kompatibility – databáze se pak chová stejným způsobem jako na starší verzi.
Edice SQL Serveru
Microsoft je společnost, která vyvíjí a dodává software celé řadě firem. S tím je spojená i široká škála způsobů financování a edicí. Pro běžného uživatele je pak licencování takových produktů dobrodružstvím samo o sobě. Zkusím proto popsat ty nejzákladnější edice a jejich omezení. Opět tu budu mluvit o verzích SQL Server 2000 (8.0) a novějších.
Zdarma i pro komerční využití – edice Express
Microsoft udělal velmi vstřícný krok. Nabídnul i ke komerčnímu využití edici SQL Serveru zdarma. Ve verzi 2000 se jednalo o samostatný produkt Microsoft Server Desktop Engine (MSDE). Od verze 2005 pak šlo již o klasickou edici pojmenovanou jako Express (po vzoru Visual Studia, která má také zdarma edici Express).
Taková edice má několik omezení:
- Nedisponuje rozšířenou funkčností vyšších verzí
- Velikost databáze je omezena na 4GB
- Maximální využitá paměť je 1GB
- Maximálně využije 1 procesor (i s více jádry)
- Není možnost plánovat úlohy
Zdarma i pro komerční využití – edice Express with advanced services
Tato edice je velmi podobná edici Express. Je dostupná od verze SQL Server 2005 a nabízí oproti klasické Express tyto možnosti:
- Služba pro fulltextové vyhledávání
- Služba pro reporting services
- Business Intelligence Development Studio
Důvod proč nejsou tyto funkce zahrnuty do klasické express edice je prostý – velikost. Instalace s těmito “advanced tools” zabírá cca dvojnásobek klasické instalace a proto bylo vše takto rozděleno a je na uživateli, aby si vybral, co stáhnout.
Toto je také edice, na které si budeme ukazovat všechny příklady. Pokud jste si již nainstalovali pouze klasickou Express, nezoufejte – na naprostou většinu příkladů bude stačit. A když ne, upozorním na to.
Komerční edice – edice Workgroup, Standard, Enterprise…
Placené edice jsou prakticky shodné s Express edicí, pouze nejsou omezené a disponují řadou pokročilých funkcí. Naštěstí se jedná převážně o funkce, které běžný smrtelník v menších a středních projektech ve většině případů nevyužije a proto se jimi nebudu v tomto seriálu zabývat.
Pro informaci můžete nalézt bližší srovnání edic zde: http://msdn.microsoft.com/en-us/library/cc645993.aspx
Edice pro mobilní zařízení – edice Compact
SQL Server Compact je spíše samostatným produktem než edicí. Jedná se o značně omezený SQL Server s podporou mobilních zařízení se systémem Windows CE. Lze jej však normálně využívat i na běžném operačním systému. Hlavním rozdílem oproti klasickým edicím je ten, že vše potřebné hostuje sama aplikace – není tedy nutné instalovat SQL Server. To je u menších projektů hodnoceno velmi pozitivně.
Počítač jako databázový server
Počítač na který budu instalovat MSSQL se stane databázovým serverem. Instalovat na něj budu databázový systém. Těchto databázových systémů může na počítači běžet nezávisle na sobě několik. V případě MSSQL se pak jednotlivé “instalace” nazývají instance databázového systému. Na jednom databázovém serveru pak může běžet až 16 instancí databázového systému. Tyto instance se navzájem neovlivňují a pracují samostatně. V každé z nich pak může být hostováno libovolný počet databází.
Velkou výhodou je fakt, že jednotlivé instance mohou být různé verze SQL Serveru. Není tedy problém nainstalovat na svůj PC vedle verze 2005 i verzi 2008. Instalace zároveň podporuje update jednotlivých instancí.
Identifikace instancí a adresa serveru
Důležité je pochopit, jak se instance identifikují. Každá musí mít své jméno – vždy unikátní v rámci počítače. Jedna z instancí navíc může být defaultní. V tom případě jméno nemá žádné (i když vnitřně se defaultní instance identifikuje jako “MSSQLSERVER”). Přednastavená hodnota při instalaci Express edice SQL Serveru je pojmenovaná instance “SQLEXPRESS” – lze však během instalace změnit.
Máme tedy 2 typy instancí:
- Defaultní instance (identifikátor: MSSQLSERVER) – maximálně jedna v počítači
- Pojmenované instance (libovolný identifikátor) – až 16 v počítači (včetně defaultní instance)
Odkazování na databázový server se pak provádí pomocí adresy skládající se z jména serveru (nebo jeho IP adresy) a jména instance. Například: 192.168.1.23\SQLEXPRESS. Pokud uvedeme pouze adresu serveru, například 192.168.1.23, snažíme se připojit na defaultní instanci – tedy instanci s prázdným jménem. To může být matoucí – občas se mě lidé ptají, proč se někdy musí za adresu zadávat SQLEXPRESS a někdy ne.
Další specialitou je znak “.” (tečka). Ta reprezentuje “tento počítač”. Adresa .\SQLEXPRESS proto odkazuje na instanci SQLEXPRESS počítače ze kterého se snažíme připojit. Podobný význam má v sítích zástupné slovo localhost nebo 127.0.0.1.
Význam defaultních a pojmenovaných instancí bude vysvětlen v následujícím článku.
Instalace
K instalaci doporučuji stáhnout SQL Server 2008 Express with Advanced Services. Ta zahrnuje krom nástroje na správu instancí i nástroj na správu databází SQL Server Management Studio (s tímto sympatickým nástrojem se budeme setkávat v průběhu celého seriálu). Celý balík lze stáhnout z webu Microsoftu: Microsoft SQL Server 2008 Express Edition with Advanced Services.
Instalace by měla proběhnout poklidně. Pokud se vám spustí SQL Server Installation Center (nově ve verzi 2008), zvolíte Installation a následně odkaz New SQL Server stand-alone installation or add features to an existing installation. Pokud už máte nainstalovanou starší verzi, určitě by vás měla zajímat položka Upgrade from SQL Server 2000 or SQL Server 2005 – díky ní můžete prakticky bezobslužně povýšit starší verzi na novou – převedené databáze mají automaticky nastavený režim kompatibility, takže koncové aplikace nepoznají rozdíl.
Při instalaci nejprve proběhne kontrola, zda systém splňuje minimální požadavky (hardware i software). Následně proběhne nudná instalace instalačních souborů a druhá kontrola, zda je nainstalováno vše co bude potřeba:
Nyní se dostáváte již do samotné instalace. V tomto kroku dostanete na výběr, zda chcete vytvořit instanci novou nebo zda přidat nové komponenty do instance existující. Zároveň vidíte seznam nainstalovaných komponent:
Další krok vám umožní zvolit konkrétní součásti k instalaci. Zde dělíme komponenty na 2 druhy:
- Komponenty instance – jedná se o komponenty specifické pro konkrétní instalovanou instanci – například služba pro podporu fulltextu nebo samotná služba instance SQL Serveru
- Komponenty sdílené – komponenty společné pro všechny instance – především nástroje na správu, SDK knihovny a další
Pro nás bude důležité nainstalovat Database Engine Services a Management Tools – tedy samotnou instanci a nástroje pro správu. Pokud instalujete verzi Express with advanced services, doporučuji nainstalovat i Full-text search. Bude se hodit později.
Následně vás čeká volba jména instance. Jak už jsem říkal, defaultně se jedná o název SQLEPXRESS, ale je na vás, který zvolíte.
Jeden z poslední kroků je volba účtů, pod kterými poběží jednotlivé služby:
Zde doporučuji zvolit pro hlavní službu (SQL Server Database Engine) účet NT AUTHORITY\SYSTEM a ostatním službám (Full-Text Filter Deamon Launcher a Server Browser) ponechat defaultní – NT AUTHORITY\LOCAL SERVICE.
Dostáváme se na poslední důležitou záložku. Konfigurace hlavní služby SQL Serveru:
Na první záložce Account Provisioning volíme způsob přihlašování a účty administrátorů. Způsoby přihlašování máte dva:
- Windows autentizace
- Windows autentizace + SQL Server autentizace (označovaný jako Mixed mode)
Pro naše účely bude zatím stačit Windows autentizace – tedy přihlašování pomocí jména a hesla ve Windows – jinými slovy, k SQL Serveru se přihlašujete pod účtem, kterým jste přihlášeni do Windows. V kapitole o zabezpečení oba režimy proberu a vysvětlím podrobněji. Navíc tyto volby jdou snadno modifikovat i po instalaci.
Nezapomeňte klepnout na “Add current user” – to zapříčiní, že již od začátku je aktuální uživatelský účet brán jako administrátor instalované instance.
Dále vás může zajímat záložka Data Directories. Zde si volíte složky, které se budou využívat k ukládání dat (umístění databází, logů, záloh atp.). Pokud je například váš počítač obdařen druhým diskem sloužící k ukládání dat, není důvod, proč nenasměrovat ukládání databází právě na něj. V této záložce máte sice hned celou řadu nastavení, ale stačí změnit pouze Data root directory kterou upravíte kořenové umístění všech ostatních složek. Takže vás zatím nemusí zajímat, co pak jednotlivé konkrétní nastavení znamená. Důležité je vědět, že zde se dá nastavit “ta složka”, kam se uloží databáze když vytvoříte novou, popřípadě kam se defaultně uloží záloha, pokud zálohujete nějakou databázi.
Poslední složka FILESTREAM je nová funkce SQL Serveru 2008 pro rychlejší práci s binárními daty. O bude samostatná kapitola. Zatím můžete nechat vypnutou.
Po klepnutí na tlačítko Next a potvrzení některých dalších nudných dialogů (například zda chcete odeslat data o instalaci k analýze a jiné) se spustí samotná instalace. Ta by měla proběhnout bez problémů. Gratuluji, máte nainstalovaný SQL Server!
Stejným způsobem můžete navíc doinstalovat i další instance SQL Serveru.
Závěr
V tomto díle jsme si popsali rozdělení SQL Serveru na verze a prošli si jeho instalací. Další článek bude průvodce po nástrojích a konfiguraci již nainstalovaného serveru.