Promotic
WikipediaLinkedInYoutubeTwitterFacebook

MS SQL Server - popis, instalace a správa

MS SQL Server Express

Pro potřeby menších databázových aplikací lze se systémem PROMOTIC využít i zdarma šiřitelné verze MS SQL Server Express. Tyto produkty, dle licenční politiky firmy Microsoft, lze se systémem PROMOTIC bezplatně distribuovat, a tudíž jej použít jako databázový stroj pro PROMOTIC aplikace všude tam, kde tento produkt vyhovuje. Produkt je ke stažení na strankách firmy Microsoft, download.microsoft.com. Stahovat nejnovější verzi (např. MS SQL Server 2012 Express with Management Tools). Tyto zdarma produkty jsou plně kompatabilní s ostatními (placenými) verzemi MS SQL Serveru. Součástí je i správcovská textová konzola OSQL.EXE (nebo ISQL.EXE) s příkazovým řádkem.

MS SQL Server 2012 Express je následovníkem dřívějších verzí a odstraňuje některé jejich nedostatky (zejména odstranění omezení výkonu při paralelním vykonávání dotazů, zvětšení velikosti databáze ze 4GB (pro MS SQL Server 2005 Express) až na 10GB (pro MS SQL Server 2012 Express, MS SQL Server 2008 R2 Express), jsou k dispozici klientské nástroje MS SQL Server Management Studio Express, taktéž ke stažení na download.microsoft.com.

Charakteristika MS SQL Serveru a MS SQL Server Express

Výhody použití MS SQL Serveru nebo MS SQL Server Express v systému PROMOTIC:
1) Za použití MS SQL Server Express není potřeba platit žádné poplatky.
2) V případě přechodu na placenou verzi MS SQL Serveru snadný upgrade. Díky shodnému jádru, jsou data a programy uložené v MS SQL Server Express plně kompatabilní s placenými verzemi MS SQL Serveru.
3) Vysoce výkonný, stabilní a technologicky vyspělý produkt.
4) Snadná instalace s podporou na většině OS Windows verzích.
5) Snadné zálohování, omezení přístupovými právy, transakční zpracování, replikace, atd.
6) Síťový přístup bez nutnosti souborového sdílení.
7) Využítí vnitřního jazyka Transact SQL k naprogramování různých kontrol dat, přepočtů, filtrů přímo do MS SQL Serveru.
8) Na OS Windows XP/Vista/7 běží jako služba operačního systému (běží, i když není k počítači přihlášený žádný uživatel).
9) Projektant jej může využít k vývoji a ladění aplikace, která pak poběží u zákazníka na MS SQL Serveru.
10) Lze nastavit, aby i některé komponenty PROMOTIC zapisovaly svá data do MS SQL Serveru (např. alarmy, trendy).
 
Nevýhody a omezení MS SQL Server 2012 Express:
1) Velikost jedné databáze může být maximálně 10 GB (pro MS SQL Server 2012 Express, MS SQL Server 2008 R2 Express) a 4GB (pro MS SQL Server 2005 Express)
2) Maximálně možná využitelná RAM paměť je 1GB.
3) Není funkční služba MS SQL Server Agent.
4) Využije se pouze pouze 1 fyzické CPU a maximálně 4 jádra tohoto CPU. (běží i na víceprocesorovém počítači, ale MS SQL Server Express této výhody neumí využít)

Instalace MS SQL Serveru nebo MS SQL Serveru Express

MS SQL Server a MS SQL Server Express se instalují příslušnými instalačními programy a lze je nainstalovat buď jako nepojmenovanou nebo pojmenovanou instanci MS SQL Serveru. Pro potřeby PROMOTIC je lépe využít nepojmenované instance, neboť všechny následné konfigurační skripty dodávané s PROMOTIC se odkazují na tuto nepojmenovanou instanci. V případě použití pojmenované instance (např. z důvodů, že na cílovém počítači už nepojmenovaná instance existuje a nelze ji pro aplikaci využít) je nutno opravit příslušné konfigurační skripty (postup popsán přímo v souboru MSSqlInit.bat, viz dále Konfigurace MS SQL Serveru).

V případě MS SQL Server Express se instalace provádí taky instalačním programem, klientské nástroje MS SQL Server Management Studio Express se instalují samostatným instalačním programem, pro běh MS SQL Server Express je nutná instalace Microsoft NET.Frameworks 2.0 nebo vyšší verze. V průběhu instalace ať už MS SQL Server nnebo MS SQL Server Express je potřeba povolit autentizaci uživatelů prováděnou MS SQL Serverem (jinak by autentizace byla založena pouze na autentizaci OS Windows NT a konfigurace MS SQL Serveru pro potřeby PROMOTIC by byla složitější).

Konfigurace MS SQL Serveru nebo MS SQL Serveru Express

Aby se nainstalovaný MS SQL Server nebo MS SQL Server Express mohl začít používat z PROMOTIC aplikace, je potřeba provést jeho základní konfiguraci (vytvoření databází a uživatelů s předkonfigurovanými přístupovými právy). Toto lze provést buď pomocí instalovaných klientských nástrojů MS SQL Server Management Studio Express nebo pomocí předpřipravených povelových souborů.

Postup pomocí povelového souboru se provádí úpravou (upravuje se jen v případě, že název serveru, název uživatele a heslo z instalace je odlišné od hodnot v souboru) a spuštěním povelového souboru MsSQLInit.bat ve složce C:\Pm\Tools\MsSQL.

Během konfigurace je vytvořena nová databáze 'pm_data' pro uživatelská data přístupná pomocí objektů PmAdo, PmDatabase, pro ukládání trendů pomocí objektu PmTrend a pro ukládání alarmů/eventů pomocí objektu PmAlarmEvent. Dále jsou vytvořeny 3 uživatelské učty, kde 'pm_admin' má nastaveny administrátorská práva, 'pm_writer' má nastaveny práva pro čtení i zápis a má povoleno zakládat, mazat a měnit strukturu tabulek a 'pm_reader' má nastaven přístup k tabulkám pouze ke čtení. Navíc je zaregistrován ODBC zdroj 'pm_data' pro přístup přes ODBC do databáze 'pm_data'.

 
Postup vlastní konfigurace:
1) Otevřít okno příkazového řádku.
2) Nastavit složku C:\Pm\Tools\MsSQL jako pracovní složku příkazem cd \pm\tools\mssql.
3) Spustit povelový soubor MsSQLInit.bat.
4) Zkontrolovat, zda během běhu povelového souboru nejsou vypsány chybová hlášení.
5) Pokud má být databáze zpřístupněna na síti (implicitě je lokální) pak je nutno nástrojem MS SQL Server Configuration Manager nastavit v MS SQL Server Network Configuration/Protocols for SQLEXPRESS(MSSQLSERVER)/ protocol TCP/IP na Enabled. Přepnutí nastavení vyžaduje restart SQL serveru.
 
Popis činností provedených během konfigurace:
1) Povelový soubor spustí SQL konfigurační skript MsSQLInit.sql pomocí utility OSQL.
2) Vytvoří se nová databáze 'pm_data' pro uživatelská data aplikace.
3) Založí se nové přihlašovací účty 'pm_admin', 'pm_writer' a 'pm_reader', nastaví se jejich výchozí databáze 'pm_data' a nastaví se počáteční hesla.
4) Účtům se povolí přístup do databáze 'pm_data'.
5) Účtu 'pm_admin' se přířadí pro databázi 'pm_data' systémová role 'sysadmin'.
6) Účtu 'pm_writer' se přířadí pro databázi 'pm_data' databázové role 'db_ddladmin', 'db_datareader' a 'db_datawriter'.
7) Účtu 'pm_reader' se přířadí pro databázi 'pm_data' databázové role 'db_datareader'.
8) Je zaregistrován ODBC datový zdroj 'pm_data' pro přístup přes ODBC do databáze 'pm_data'.

Přístup z PROMOTIC k MS SQL Serveru

Databáze 'pm_data': je v systému PROMOTIC určena jak pro uživatelská data (objekty PmAdo a PmDatabase) tak pro data komponent systému PROMOTIC (trendy, alarmy).
 
Objekt PmAdo: aplikace může přistupovat buď přímo například pomocí ADO Provider 'SQLOLEDB' nebo přes ODBC pomocí ADO Provider 'MSDASQL' (není nutný zaregistrovaný datový ODBC zdroj 'pm_data'). V tomto objektu je nutno nastavit následující konfigurační položky:
1) 'Parametry připojení k databázi', například "provider=SQLOLEDB;server=.\SQLEXPRESS;database=pm_data;uid=pm_writer;pwd=pmwriter;".
 
Objekt PmDatabase: aplikace může pracovat s daty v této databázi přes ODBC rozhraní (nutný zaregistrovaný datový ODBC zdroj 'pm_data'). V tomto objektu je nutno nastavit následující konfigurační položky:
1) 'Technologie' na Přístup přes ODBC.
2) 'Typ databáze' na 'ODBC; Data source'.
3) 'Databáze (soubor, složka, datový zdroj)' na název zaregistrovaného ODBC zdroje, například na 'pm_data'.
4) 'Tabulka (soubor)' na název tabulky, se kterou se bude pracovat (pokud nebude využita možnost SQL příkazu SELECT při otevření tabulky).
5) 'Uživatel' na název uživatele MS SQL Serveru, například na 'pm_writer'.
6) 'Heslo' na heslo příslušného uživatele MS SQL Serveru kvůli autentizaci.
1) 'Parametry připojení k databázi' například "provider=SQLOLEDB;server=.\SQLEXPRESS;database=pm_data;uid=pm_writer;pwd=pmwriter;".
 
Object PmTrend: komponenta trendů může ukládat/číst svá data do/z databáze. V tomto objektu je nutno nastavit následující konfigurační položky:
2) a v okně Database MS SQL server backups (zastaralé) nebo Database MS SQL server cyclic je potřeba nakonfigurovat položky odkazující databázi, do níž se budou zapisovat data, tyto jsou předkonfigurovány například takto: "server=.\SQLEXPRESS;database=pm_data;uid=pm_writer;pwd=pmwriter;" (název instance serveru .\SQLEXPRESS se může lišit).
 
Object PmAlarmEvent: komponenta alarmů/eventů může ukládat/číst svá data do/z databáze. V tomto objektu je nutno nastavit následující konfigurační položky:
1) 'Typ uložení' na MS SQL databáze.
2) a v okně Parametry pro typ: MS SQL databáze je potřeba nakonfigurovat položky odkazující databázi, do níž se budou zapisovat data, tyto jsou předkonfigurovány například takto: "server=.\SQLEXPRESS;database=pm_data;uid=pm_writer;pwd=pmwriter;" (název instance serveru .\SQLEXPRESS se může lišit).

Textová konzola pro správu MS SQL Serveru

Ke správě MS SQL Serveru (Express) lze využít textové konzoly s příkazovým řádkem (OSQL.EXE nebo ISQL.EXE podle typu MS SQL Serveru). Při spuštění konzoly lze zadat parametry pro připojení k příslušnému MS SQL Serveru. Seznam možných parametrů vypíše konzola po zadání parametru '/?':

  "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\OSQL.EXE" /?

Spuštění konzoly pro implicitně nainstalovaný MS SQL Server a přihlášení uživatele 'pm_admin':

  "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\OSQL.EXE" -S(local) -Upm_admin -Padmin

Konzola umožňuje interaktivní práci s MS SQL Serverem. Z příkazové řádky lze provádět libovolné SQL příkazy (Transact SQL). Pokud SQL příkaz vrací výsledná data, pak jsou tato data zobrazena v příkazové řádce. Každý zadaný SQL příkaz se provede teprve po zadání speciálního příkazu GO. SQL příkaz není nutno zadat na jediném řádku, ale může se rozdělit na více řádků, kdy příkaz se provede najednou zadáním příkazu GO. Dříve zadané řádky se pamatují a lze jimi listovat pomocí kurzorových kláves <Up> nebo <Down>. V příkazu se dá pohybovat a editovat pomocí <Left> a <Right>.

Příkazová řádka umožňuje úplnou správu MS SQL Serveru a to i z jiného počítače. Například konfiguraci MS SQL Serveru, vytváření a mazání databází, vytváření a obnovování záloh, vytváření, změnu a mazaní tabulek, přidávání, změnu a mazání dat v jednotlivých tabulkách, zobrazení a vyhledání dat, přidávání a mazání uživatelů, změna přihlašovacích hesel, nastavování přístupových práv k jednotlivým objektům v databázi, atd.

Tip: Je možné udělat v OS Windows zástupce na program OSQL.EXE (ISQL.EXE) a ve vlastnostech zástupce pak přidat výše uvedené přihlašovací parametry. Výsledkem je zástupce (ikona) v OS Windows, po jehož aktivaci se otevře konzola pro příslušný MS SQL Server s přihlášeným uživatelem.

Tip: Vymazání obsahu konzoly lze příkazem: !!CLS.

© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice