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, podle licenční politiky firmy Microsoft, lze se systémem PROMOTIC
zdarma distribuovat, a tudíž ho použít jako databázový stroj pro aplikace PROMOTIC všude tam, kde tento produkt vyhovuje.
Produkt je ke stažení na strankách firmy Microsoft,
http://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
http://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) Běží jako služba Windows (běží, i když není k počítači přihlášený žádný uživatel).
9) Projektant ho 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í dostupná 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 jako nepojmenovanou nebo pojmenovanou instanci MS SQL Serveru.
Pro potřeby systému PROMOTIC je lepší použít nepojmenované instance, protože všechny následné konfigurační skripty dodávané se systémem 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 nepojmenovaná instance již existuje a pro aplikaci ji nelze použí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 nutno nainstalovat
Microsoft NET.Frameworks 2.0 nebo vyšší verze. Během instalace ať už
MS SQL Server nnebo
MS SQL Server Express je nutno povolit
autentizaci uživatelů prováděnou
MS SQL Serverem (v jiném případě by autentizace byla založena pouze na autentizaci
OS Windows NT a konfigurace MS SQL Serveru pro potřeby systému 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 aplikace PROMOTIC, je nutno 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ů.
Nastavení pomocí
povelového souboru se provádí úpravou (upravuje se pouze pokud 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
\Promotic\Tools\MsSQL.
Během konfigurace se vytvoří nová databáze
'pm_data' přístupná pro uživatelská data objektem
PmaAdo,
PmaDatabase, pro ukládání trendů objektem
PmaTrendGroup, pro ukládání alarmů objektem
PmaAlarmGroup a pro ukládání eventů objektem
PmaEventGroup. 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 jen pro č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řete okno příkazového řádku.
3) Spusťte povelový soubor MsSQLInit.bat.
4) Zkontrolujte, zda během běhu povelového souboru nejsou vypsány chybová hlášení.
5) Pokud databáze má být zpřístupněna na síti (přednastaveno: lokální) pak je nutno nastavit nástrojem MS SQL Server Configuration Manager 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í nástroje 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 zdroj dat 'pm_data' pro přístup přes ODBC do databáze 'pm_data'.
Přístup z aplikace PROMOTIC k MS SQL Serveru
Databáze 'pm_data': je v systému PROMOTIC určena jak pro uživatelská data (objekty
PmaAdo a
PmaDatabase) tak pro data komponent systému PROMOTIC (trendy, alarmy).
Objekt PmaAdo: 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ý ODBC zdroj dat
'pm_data'). V tomto objektu je nutno nastavit následující konfigurátory:
Objekt PmaDatabase: aplikace může pracovat s daty v této databázi přes ODBC rozhraní (nutný zaregistrovaný ODBC zdroj dat
'pm_data'). V tomto objektu je nutno nastavit následující konfigurátory:
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.
Objekt PmaTrendGroup: komponenta trendů může ukládat/číst svá data do/z databáze. V tomto objektu je nutno nastavit následující konfigurátory:
Objekt PmaAlarmGroup: komponenta alarmů může ukládat/číst svá data do/z databáze. V tomto objektu je nutno nastavit následující konfigurátory:
1) konfigurátor "
Typ uložení" na
Databáze MS SQL Server cyclic.
2) a v okně "
Databáze MS SQL Server cyclic" je nutno nakonfigurovat položky odkazující databázi, do které 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 použí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ého řádku lze provádět libovolné SQL příkazy (
Transact SQL). Pokud SQL příkaz vrací výsledná data, pak jsou tato data zobrazena z příkazového řádku. 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í kláves
"šipka nahoru" nebo
"šipka dolů". V příkazu se dá pohybovat a editovat pomocí kláves
"šipka vlevo" a
"šipka vpravo".
Příkazový řádek 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: Lze 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: Smazání obsahu konzoly lze příkazem:
!!CLS.