602SQL-Úplná dokumentace Index  

Provoz SQL serveru pod Windows

Databázový server 602SQL pro Windows může být provozován buď jako běžná úloha (angl. task) nebo jako tzv. služba (angl. service).

Pro centrální spouštění a zastavování 602SQL serverů slouží od verze 11 utilita nazvaná Server manager. Zde je popisováno pouze ovládání serverů bez Server Manageru, které je také možné, nebo obecné zásady registrace služeb apod.

Provoz SQL serveru běžícího jako úloha

SQL server se provozuje jako úloha zejména tehdy, pokud je třeba jej co nejjednodušeji zapínat a vypínat podle momentální potřeby.

Spuštění serveru jako úlohy

SQL server se zpravidla spouští pomocí Server manageru. Samotný server proto nemá po instalaci vlastního zástupce - je možné však si jej vytvořit ručně prostředky OS. Potom se využijí následují informace:

Interně je server v programu 602sqlxx.exe (xx je číslo verze). Na příkazové řádce mu lze předat tyto parametry:
Parametr Význam
-n jméno_databáze Určuje databázi, nad kterou server bude pracovat
-N Spouští síťový TCP/IP protokol bez ohledu na nastavení komunikace serveru; v současné verzi již nemá velký význam.
-Q Zabrání serveru spouštět systémové triggery - používá se pouze pro řešení krizových stavů, kdy procedura spuštěná systémovým triggerem při startu serveru znemožní další práci.

Místo pomlčky může parametr začínat lomítkem.

Pokud chybí parametr určující jméno databáze, pak chování serveru závisí na počtu lokálních databází. Je-li registrována pouze jediná databáze, přihlásí se server k ní (do verze 10 automaticky začal poskytovat své služby v síti, od verze 10 se řídí nastavením z dlg Protokoly a porty). Je-li databází více, je nutné v okně serveru vybrat jednu z vypsaného seznamu.

Je-li databáze umístěna na stejném počítači jako klientské Vývojové a provozní prostředí, pak server může být spuštěn z Řídicího panelu.

Všechny způsoby spuštění serveru (tj. pomocí Server Manageru, pomocí klientského prostředí nebo přímo doubleclickem na soubor EXE nebo ze zástupce volající EXE) jsou ekvivalentní.

Indikace běhu

Běžící server je buď uveden na liště Windows mezi ostatními běžícími úlohami nebo může být označen pouze malou ikonou v roku lišty v oblasti zvané system tray. Jeden nebo druhý způsob zobrazení lze nastavit tak, že se vlastnosti serveru Tray Icon přiřadí hodnota 0 nebo 1 (nejjednodušeji pomocí dialogu Provozní parametry).

Kliknutím na ikonu lze otevřít konzoli (okno) serveru.

Ukončení serveru běžícího jako úloha

Pokud SQL servery neovládáte pomocí Server Manageru, činnost serveru ukončíte stiskem zavíracího tlačítka konzole serveru. Pokud ikona serveru je v system tray, pak v popup menu na této ikoně lze zadat příkaz Zavřít. POZOR! Ukončení běhu tímto způsobem se provede okamžitě a nelze akci odvolat (ani v případě, že nějaký klient se serverem pracuje). Proto se tento způsob nehodí pro důležitá provozní nasazení.

Provoz SQL serveru pracujícího jako služba

SQL server se provozuje jako služba zejména tehdy, pokud má být automaticky spuštěn po startu operačního systému. Výhodou služby je, že může pracovat na počítači v uzavřené místnosti. Běží totiž obvykle na systémový účet, a tudíž na počítač se serverem nemusí být nikdo přihlášen.

Služba SQL serveru musí být před spuštěním zaregistrována v systému pod určitým jménem. Pokud chcete provozovat více SQL serverů na jednom počítači, pak je třeba je zaregistrovat jednotlivě pod různými jmény.

Registrace a konfigurování služby

Registrace a konfigurace služby se provádí z klientského vývojového prostředí. V seznamu registrovaných serverů na Řídicím panelu vyberete lokální neběžící server, pro nějž chcete registrovat službu. Z popup menu provedete příkaz Správa databáze a v otevřeném okně přepnete na záložku Služba / Démon. Službě přidělíte jméno (např. "602SQL Server") a registrujete ji stiskem tlačítka. Dále lze nastavit, zda se služba bude spouštět automaticky při každém startu operačního systému, nebo bude spouštěna ručně. Automatické spouštění není vhodné, pokud se při startu SQL serveru musí zadávat heslo k databázovému souboru. Způsob spouštění lze nastavit také pomocí ovládacích panelů Windows, utility Služby (Services).

K registraci a konfigurování služby je nutno mít administrátorská práva ve Windows.

Spuštění serveru jako služby

Služba může být spuštěna automaticky při startu operačního systému, je-li tak zkonfigurována, nebo ji lze spustit ručně. Na ovládacím panelu Windows pro služby se služba spouští tlačítkem Start. V okně Správa databáze se registrovaná služba zapíná tlačítkem Start.

SQL server běžící jako služba pracuje nad databází určenou v konfiguraci (viz výše). Nejsou-li explicitně nastaveny protokoly komunikace, poskytuje přístup po síti pomocí TCP/IP.

Dojde-li při spouštění služby k chybě, tato událost se zaznamená do logu událostí Windows do sekce Aplikace. Popis chyby lze přečíst pomocí systémového prohlížeče událostí.

Indikace běhu

Běh služby není na desktopu Windows nijak indikován (pouze jako položka v seznamu procesů ve Správci úloh). Nelze proto ani otevřít okno serveru. Informace o serveru lze získat pouze pomocí klientského Vývojového a provozního prostředí po přihlášení nebo Server Managerem.

Ukončení serveru běžícího jako služba

Činnost serveru běžícího jako služba lze ukončit:

Je-li k serveru přihlášen nějaký uživatel, pak se při pokusu o ukončení jeho práce vypíše varovná zpráva.

Na co pamatovat při provozu služby

Vzhledem k tomu, že služba běží obvykle na systémový účet, je nutno přidělit operačnímu systému práva ke všemu, s čím bude server pracovat, zejména k databázovému souboru. Tato práva obvykle nejsou nastavena automaticky. Systémový účet také nemá namapované síťové disky - na to pamatujte při konfiguraci zálohování serveru.

Službu lze spustit i na konkrétní účet - podrobnosti viz dokumentace k Windows.

V případě, že klientský program přistupující k 602SQL Serveru sám běží jako služba, je nutné, aby 602SQL server sám běžel také jako služba. V opačném případě server bude požadavky zpracovávat neúnosně pomalu.

Neodhlášení klienti

Pokud klient přihlášený na 602SQL server havaruje, může na serveru blokovat data, která zamkl ale neodemkl. Jakmile server rozpozná havárii klienta, uvolní vše, co klient blokuje.

Pokud klient a server běží na stejném počítač, server rozpozná havárii klienta zpravidla ihned. Pokud běží na různých počítačích, pak doba do rozpoznání havárie závisí na konfigurací síťového protokolu a obvykle netrvá déle než minuty.

Ve výjimečných případech může klient zůstat přihlášený. Pak lze klienta odpojit ručně nebo (v krajním případě) restartovat server.