Promotic

MS SQL Serwer - opis, instalacja oraz administracja

MS SQL Serwer Express

Dla potrzeb mniejszych aplikacji z bazami danych można z systemem PROMOTIC wykorzystać także bezpłatnie rozszerzane wersje MS SQL Serwer Express.
Produkty te, według polityki licancyjnej firmy Microsoft, można darmowo dystrybuować razem z systemem PROMOTIC, i tym samym zastosować je jako maszynę bazy danych dla PROMOTIC wszędzie tam, gdzie produkt ten spełnia wymagania.
Produkt jest do pobrania na stronach firmy Microsoft, http://download.microsoft.com. Pobrać najnowszę wersję (np. MS SQL Serwer 2012 Express with Management Tools).
MS SQL Serwer 2012 Express with Management Tools jest w pełni kompatybilny z pozostałymi (odpłatnymi) wersjami MS SQL Serwera. Częścią składową jest również tekstowa konsola administracyjna OSQL.EXE (lub ISQL.EXE) z wierszem poleceń.
 
MS SQL Serwer 2012 Express jest następcą wcześniejszych wersji i eliminuje niektóre ich braki (zwłaszcza usunięcie ograniczenia wydajności przy równoległym wykonywaniu poleceń, zwiększenie wielkości bazy danych z 4GB (dla MS SQL Serwer 2005 Express) aż do 10GB (dla MS SQL Serwer 2012 Express, MS SQL Serwer 2008 R2 Express), są także do dyspozycji narzędzie klientskie MS SQL Serwer Management Studio Express, również do pobrania na http://download.microsoft.com.

Właściwości MS SQL Serwera oraz MS SQL Serwer Express

Zalety zastosowania MS SQL Serwera lub MS SQL Serwer Express w systemie PROMOTIC:
1) Wykorzystanie MS SQL Serwer Express produktu jest bezpłatne.
2) W przypadku przejścia na odpłatną wersję MS SQL Serwera łatwy upgrade. Dzięki zgodnemu rdzeniowi, są dane i programy zapisane w MS SQL Serwer Express w pełni kompatybilne z odpłatnymi wersjami MS SQL Serwera.
3) Wysoko wydajny, stabilny i technologicznie dojrzały produkt.
4) Łatwa instalacja ze wsparciem na większości wersji SO Windows.
5) Łatwa archiwizacja, ograniczenie praw dostępu, przetwarzanie transakcyjne, replikacja, itd.
6) Dostęp sieciowy bez konieczności współdzielenia plików.
7) Wykorzystanie wbudowanego języka Transact SQL do programowania różnych kontroli danych, przeliczeń, filtrów bezpośrednio w Serwerze SQL.
8) Jest uruchomiony jako usługa Windows (jest uruchomiony nawet jeżeli nie jest zalogowany żaden użytkownik do komputera).
9) Może być wykorzystany przez projektantowo wytwarzanie i rozruchu aplikacji, która następnie zostanie uruchomiona u klienta z wykorzystaneim MS SQL Serwera albo MS SQL Serwer Express.
10) Można ustawić, żeby niektóre z komponentów PROMOTIC zapisywały własne dane do MS SQL Serwera albo MS SQL Serwer Express (np. alarmy, trendy).


Mankamenty i ograniczenia MS SQL Serwer 2012 Express:
1) Wielkość jednej bazy danych może wynosić maksymalnie 10 GB (dotyczy MS SQL Server 2012 Express, MS SQL Server 2008 R2 Express) i 4GB (dotyczy MS SQL Serwer 2005 Express)
2) Maksymalnie możliwa wielkość pamięci RAM do wykorzystania jest ograniczona do 1GB.
3) Nie jest dostępna usługa MS SQL Server Agent.
4) Wykorzystany zostanie tylko jeden procesor a maksymalnie 4 rdzenie tego procesora. (działa także na komputerze kilkuprocesorowym, lecz MS SQL Serwer Express nie potrafi tego wykorzystać)

Instalacja MS SQL Serwera lub MS SQL Serwera Express

MS SQL Serwer oraz MS SQL Serwer Express można zainstalować przy pomocy odpowienich programów instalacyjnych i można je zainstalować jako nie nazwaną lub nazwaną instancją SQL serwera.
Dla potrzeb systemu PROMOTIC jest lepiej zastosować nie nazwanej instancji, ponieważ wszystkie następne skrypty konfiguracyjne odnoszą się właśnie do tej nie nazwanej instancji.
W przypadku zastosowania nazwanej instancji (np. z powodów, że na konputerze już istnieje nie nazwana isntancja i nie jest możliwe jej wykorzystanie) jest konieczne zmienić odpowienie skrypty konfiguracyjne (poszczególne kroki są opisane bezpośrednio w pliku MSSqlInit.bat, patrz dalej Konfigurace MS SQL Serweru).
W przypadku MS SQL Serwer Express instalacja wykonuje się również przy pomocy programu instalacyjnego, narzędzia klienckie MS SQL Server Management Studio Express są instalowane przez samodzielny program instalacyjny, dla biegu MS SQL Serwer Express jest konieczne instalacja Microsoft NET.Frameworks 2.0 lub nowszej wersji. Podczas instalacji dowolnie MS SQL Serwer lub MS SQL Serwer Express jest konieczne ustawić uwierzytelnienie użytkowników wykonywaną przez Serwer MS SQL (w innym przypadku uwierzytelnienie było by założone wyłącznie na uwierzytelnieniu SO Windows NT i konfiguracja Serwera SQL dla potrzeb systemu PROMOTIC byłaby bardziej złożona).

Konfiguracja MS SQL Serwera lub MS SQL Serwera Express

Żeby zainstalowany MS SQL Serwer lub MS SQL Serwer Express można było wykorzystywać z aplikacji PROMOTIC, jest konieczne przeprowadzić jego podstawową konfigurację (wytworzenie baz danych i użytkowników z wstępnie ustawionymi prawami dostępu). To można wykonać przy pomocy zainstalowanych narzędzi klienckich MS SQL Server Management Studio Express lub przy pomocy uprzednio przygotowanych plików wsadowych.
Ustawienie przy pomocy pliku wsadowego wykonuje się poprzez edycję pliku (edycja jest konieczna tylko jeżeli nazwa serwera, nazwa użytkownika oraz hasło z instalacji różni się od wartości wpisanych w pliku) i uruchomieniem pliku wsadowego MsSQLInit.bat w folderze \Promotic\Tools\MsSQL.
Podczas konfiguracji zostanie wytworzona nowa baza danych, 'pm_data' dostępna dla danych użytkowników przy pomocy obiektu PmaAdo, PmaDatabase, do zapisu trendów przy pomocy obiektu PmaTrendGroup, do zapisu alarmów przy pomocy obiektu PmaAlarmGroup oraz do zapisu eventów przy pomocy obiektu PmaEventGroup. Poza tym są wytworzone 3 konta użytkowników, gdzie 'pm_admin' posiada uprawnienia administratora, 'pm_writer' posiada prawa do odczytu i zapisu, może wytwarzać, usuwać i zmieniać strukturę tablic oraz 'pm_reader' posiada prawo tylko do odczytu danych z tablic. Ponadto jest zarejestrowane źródło ODBC 'pm_data' dla dostępu poprzez interfejs ODBC do bazy danych 'pm_data'.

Opis samego ustawienia:
1) Otwórz okno wiersza poleceń.
2) Ustaw folder C:\Promotic\Tools\MsSQL jako folder aktywny przy pomocy polecenia cd \Promotic\Tools\MsSQL.
3) Uruchom wsadowy plik MsSQLInit.bat.
4) Skontroluj, czy podczas biegu pliku wsadowego nie są wypisane komunikaty o błędach.
5) Jeżeli baza danych ma być dostępna również poprzez sieć (domyślnie: lokalnie), wtedy przy pomocy narzędzia MS SQL Server Configuration Manager jest konieczne ustawienie protokołu TCP/IP na Enabled w sekcji MS SQL Server Network Configuration/Protocols for SQLEXPRESS(MSSQLSERVER)/. Zmiana ustawienia wymaga restartu SQL serwera.


Opis czynności przeprowadzanych podczas konfiguracji:
1) Plik wsadowy uruchomi konfiguracyjny skrypt SQL MsSQLInit.sql przy pomocy programu użytkowego OSQL.
2) Jest wytworzona nowa baza danych 'pm_data' dla danych użytkowników aplikacji.
3) Są założona nowe konta użytkowników 'pm_admin', 'pm_writer' oraz 'pm_reader', jest ustawiona ich początkowa baza danych 'pm_data' oraz są ustawione ich hasła początkowe.
4) Kontom jest ustawiony dostęp do bazy danych 'pm_data'.
5) Dla konta 'pm_admin' dla bazy danych 'pm_data' jest ustawiona rola systemowa 'sysadmin'.
6) Dla konta 'pm_writer' dla bazy danych 'pm_data' są ustawione role bazy danych 'db_ddladmin', 'db_datareader' oraz 'db_datawriter'.
7) Dla konta 'pm_reader' dla bazy danych 'pm_data' są ustawione role bazy danych 'db_datareader'.
8) Jest zarejestrowane ODBC źródło danych 'pm_data' do dostępu do bazy danych 'pm_data' poprzez ODBC.

Dostęp do MS SQL Serwera z aplikacji PROMOTIC

Baza danych 'pm_data': jest w systemie PROMOTIC przeznaczona do danych użytkowników (obiekty PmaAdo oraz PmaDatabase) tak również do danych komponent systemu PROMOTIC (trendy, alarmy).

Obiekt PmaAdo: aplikacja może przystępować bezpośrednio na przykład przy pomocy ADO Provider 'SQLOLEDB' lub poprzez ODBC przy pomocy ADO Provider 'MSDASQL' (nie jest potrzebne zarejestrowane ODBC źródło danych 'pm_data'). W tym obiekcie jest konieczne ustawić następujace konfiguratory:
1) 'Parametry podłączenia do bazy danych', na przykład "provider=SQLOLEDB;server=.\SQLEXPRESS;database=pm_data;uid=pm_writer;pwd=pmwriter;".


Obiekt PmaDatabase: aplikacja może pracować z danymi w tej bazie danych poprzez interfejs ODBC (jest potrzebne zarejestrowane ODBC źródło danych 'pm_data'). W tym obiekcie jest konieczne ustawić następujace konfiguratory:
1) 'Technologia' na Dostęp przez ODBC.
2) 'Typ bazy danych' na 'ODBC; Data source'.
3) 'Baza danych (plik, folder, źródło danych)' na nazwę zarejestrowanego ODBC źródła danych, na przykład na 'pm_data'.
4) 'Tabela (plik)' na nazwę tabeli, z którą będzie się pracować (jeżeli nie zostanie wykorzystana możliwość polecenia SQL SELECT podczas otwarcia tabeli).
5) 'Użytkownik' na nazwę użytkownika MS SQL Serveru, na przykład na 'pm_writer'.
6) 'Hasło' na hasło odpowiedniego użytkownika MS SQL Serveru w celu uwierzytelnienia.
7) 'Parametry podłączenia do bazy danych' na przykład "provider=SQLOLEDB;server=.\SQLEXPRESS;database=pm_data;uid=pm_writer;pwd=pmwriter;".


Obiekt PmaTrendGroup: komponent trendów może zapisywać/czytać swe dane do/z bazy danych. W tym obiekcie jest konieczne ustawić następujace konfiguratory:
2) a w oknie Database MS SQL server backups (przestarzałe) lub Database MS SQL server cyclic jest konieczne ustawić pozycje odnoszące się do bazy danych, do której dane będą zapisywane.
Te są ustawione wstępnie na przykład w taki sposób:
"server=.\SQLEXPRESS;database=pm_data;uid=pm_writer;pwd=pmwriter;"
(nazwa instancji serwera .\SQLEXPRESS może się różnić).


Obiekt PmaAlarmGroup: komponent alarmów może zapisywać/czytać swe dane do/z bazy danych. W tym obiekcie jest konieczne ustawić następujace konfiguratory:
1) konfigurator "Typ zapisania" na Baza danych MS SQL.
2) a w oknie "Baza danych MS SQL" jest konieczne ustawić pozycje odnoszące się do bazy danych, do której dane będą zapisywane.
Te są ustawione wstępnie na przykład w taki sposób:
"server=.\SQLEXPRESS;database=pm_data;uid=pm_writer;pwd=pmwriter;"
(nazwa instancji serwera .\SQLEXPRESS może się różnić).

Konsola tekstowa do administracji MS SQL Serwera

Do administracji MS SQL Serwera (Express) można zastosować tekstową konsolę z wierszem poleceń (OSQL.EXE lub ISQL.EXE według typu MS SQL Serwera). Przy uruchomieniu konsoli można wprowadzić parametry do połączenia do odpowiedniego MS SQL Serwera. Lista możliwych parametrów zostanie wyprowadzona na konsolę po wpisaniu parametru '/?':
  "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\OSQL.EXE" /?
 
Uruchomienie konsoli dla domyślnie zainstalowanego MS SQL Serwer i zalogowanie użytkownika 'pm_admin':
  "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\OSQL.EXE" -S(local) -Upm_admin -Padmin
Konsola umożliwia interaktywną pracę z Serwerem SQL. Z wiersza poleceń można wykonywać dowolne polecenie SQL (Transact SQL). Jeżeli polecenie SQL zwraca dane, wtedy tą są one wyświetlone z wiersza poleceń. Każde wprowadzone polecenie SQL zostanie wykonane dopiero po wprowadzeniu specjalnego polecenia GO. Polecenie SQL nie musi być wprowadzone na jednym wierszu, lecz może być rozdzielone na większą ilość wierszy, kiedy polecenie zostanie wykonane za jednym razem po wprowadzeniu polecenia GO. Wcześniej wprowadzone linie są zapamiętywane i można w nich wertować przy pomocy klawiszy "klawisz do góry" lub "klawisz w dół". W wierszu poleceń można się poruszać i edytować przy pomocy klawiszy "klawisz w lewo" oraz "klawisz w prawo".
Wiersz poleceń umożliwia pełną administrację Serwera SQL, w dodatku nawet z innego komputera. Na przykład konfigurację MS SQL Serwera, wytwarzenie i usuwanie baz danych, wytwarzanie i odtwarzanie kopii zapasowych, wytwarzanie, zmianę i usuwanie tablic, dodawanie, zmianę i usuwanie danych w poszczególnych tablicach, wyświetlenie i wyszukiwanie danych, dodawanie i usuwanie użytkowników, zmianę haseł wejściowych, ustawianie praw dostępu do poszczególnych obiektów w bazie danych, itd.
 
Wskazówka: W SO Windows jest możliwe wytworzenie skrótu do programu OSQL.EXE (ISQL.EXE) i we właściwościach skrótu następnie uzupełnić wyżej przedstawione parametry logowanie. Wynikiem tego jest skrót (ikona) w SO Windows, po którgo aktywacji zostanie otwarta konsola dla odpowiedniego MS SQL Serwera pod odpowiednim kontem użytkownika.
 
Wskazówka: Skasowanie zawartości konsoli można wykonać przy pomocy polecenia: !!CLS.
© MICROSYS, spol. s r.o.