Biuletyn techniczny CDN OPT!MA 14.0. Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Infrmacje serwiswe dla Partnerów. Aktualizacja: 29.07.2008 r. Cpyright 2008 COMARCH SA
Spis treści SPIS TREŚCI...2 PLATFORMA BAZODANOWA....3 INSTALACJA MSDE...3 BAZY DANYCH...4 LOG MSSQL...5 KONFIGURACJA SILNIKA BAZY DANYCH DLA POTRZEB SYSTEMU CDN OPT!MA...5 WYKONYWANIE KOMEND / SKRYPTÓW SQL NA SERWERZE MSSQL...6 TWORZENIE / ODTWARZANIE KOPII BEZPIECZEŃSTWA BAZY...8 ODZYSKIWANIE DANYCH Z USZKODZONEGO SERWERA LUB Z USZKODZONEJ BAZY...9 CDN SKANER...10 Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 2
PniŜszy dkument zawiera pdstawwe infrmacje związane z współpracą MSSQL 2000 i CDN OPT!MY. Ddatkwe infrmacje dtyczące tematów mawianych w dkumencie mŝna zaleźć w dkumentacji prducenta*. Platfrma bazdanwa. Prgram CDN OPT!MA jest aplikacją pracującą w mdelu klient-serwer. Współpracuje n z nwczesną bazą danych MSSQL 2000 firmy Micrsft. Pzwala t na: Pracę wielstanwiskwą. Pracę bazy danych na kmputerach typu Desktp razem z aplikacją CDN OPT!MA Instalacja jednstanwiskwa. Wzrst bezpieczeństwa danych. Zwiększenie wydajnści przetwarzania danych. Łatwą i bezpieczną rzbudwę systemu Prgram mŝe współpracwać z dwlną edycją MSSQL 2000. MŜliwść wykrzystania zgrmadznych danych w innych aplikacjach biurwych. Praca z prgramem w niewielkich instalacjach jedn lub kilku stanwiskwych nie wymaga zakupu serwera MSSQL. Prdukt dystrybuwany jest wraz z silnikiem bazy MSSQL 2000 w wersji MSDE (SQL Server 2000 Desktp Engine). Opis cech silnik bazy w tej wersji znajduje się na strnie WWW: http://www.cdn.cm.pl/msdeinf.html Instalacja MSDE Instalacja MSSQL 2000 w wersji Desktp Engine znajdująca się na krąŝku instalacyjnym prgramu uruchamia pliku setup.exe z katalgu: cd:\setup\mssql2000\ Parametry instalacji silnika przekazywane są pprzez plik inicjujący twrzny autmatycznie przed wywłaniem instalatra na dysku systemu peracyjneg. Plik ten instaluje silnik bazy z następującymi parametrami: Wspólny katalg dcelwy dla baz danych i binariów silnika umieszczny w pdkatalgu Prgram Files systemu peracyjneg. Nazwa instancji serwera - CDN_OPT!MA Jeśli zamierzamy wyknać instalację zmieniając dmyślne ustawienia, musimy samdzielnie sknstruwać plik inicjujący i uruchmić instalatr bezpśredni z jeg katalgu. Najczęstszym pwdem d wyknania niestandardwej instalacji MSDE będzie umieszczenie katalgu baz danych na innym dysku niŝ dysk systemwy. Pzwala t zwiększyć wydajnść wymiany danych z dyskiem. Przykładwy plik inicjujący będzie mógł mieć pstać: [Optins] INSTANCENAME=CDN_OPT!MA TARGETDIR="c:\Prgram Files\Micrsft SQL Server\" DATADIR="d:\BAZY_BIURA_RACH\" SECURITYMODE=SQL Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 3
Gdzie: INSTANCENAME TARGETDIR DATADIR SECURITYMODE=SQL Nazwa instancji, jaką przyjmie serwer. ŚcieŜka, w której znajdą się pdkatalgi związane z daną instancją. Katalg, w którym będą umieszczane nw twrzne bazy. Parametr aktywujący pdwójny tryb autentykacji na serwerze. Taki spsób ustawienia jest niezbędny dla pracy CDN OPT!MY; prcedura ta nie pwinna być zmieniana. Instalację naleŝy uruchmić z kmendą /settings ścieŝka d pliku z parametrami np.: cd:\setup\msql2000\setup.exe /settings c:\msdesetup.ini Istnieje mŝliwść uruchmienia instalatra MSDE bez pdania pliku z parametrami. Wówczas silnik zainstaluje się przyjmując następujące ustawienia: Instancja nienazwana. Datadir = Targetdir = \Prgram Files\Micrsft SQL Server\ Tryb autentykacji: - dla WIN 98, ME pdwójny ( + SQL ), - dla WIN NT, 2000, XP tylk z autentykacją na dmenie NT. Instalatr MSDE ma mŝliwść twrzenia pliku lg-a z całeg prcesu instalacji. W zaleŝnści d wybranych pcji mŝe n infrmwać szczegółw peracjach, jakie wyknuje instalatr. Pzwli t nam, w razie prblemów z instalacją MSDE, kreślić miejsce ich wystąpienia. Przykład: Aby uruchmić instalację krzystającą ze stwrzneg pliku inicjująceg raz twrzącą plik lga naleŝy instalatr uruchmić w następujący spsób: cd:\setup\msde\setup.exe /settings c:\msdesetup.ini /l c:\msdelg.txt Uwaga: Dmyślnie pdczas instalacji serwera razem z prgram CDN OPT!MA lginwi serwerwemu SA (system administratr) nadawane jest puste hasł. Bazy danych Prgram CDN OPT!MA twrzy na serwerze dwa typy baz: Knfiguracyjną mieści na dane gólne związane z pracą systemu. Np: listę baz, peratrów, kursy walut, definicje wydruków uŝytkwnika, księgwe parametry glbalne, wspólne dla wszystkich firm (baz) Bazy Firmwe zawierające dane związane z prwadzeniem działalnści w brębie danej firmy. Fizycznie silnik dla kaŝdej krewanej bazy twrzy na dysku grupę plików, które zawierają dane bazy. Nw twrzne bazy w systemie CDN OPT!MA będą twrzyły się w katalgu DATA, w pdkatalgu instancji, d której naleŝy baza np.: C:\Prgram Files\Micrsft SQL Server\MSSQL$CDN_OPT!MA\Data\ Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 4
System CDN OPT!MA twrzy jeden plik bazy danych z rzszerzeniem mdf raz z prefiksem CDN_ raz plik lga bazy rzszerzeniu ldf. Przykład: Dla Firmy w systemie CDN OPT!MA nazwanej DEMO, utwrzna zstanie na serwerze baza nazwie CDN_DEMO, d której będą naleŝały fizycznie dwa pliki na dysku: CDN_Baza.mdf CDN_Baza_lg.ldf plik bazy plik lga Dmyślny katalg dcelwy dla baz danych mŝe zstać zmieniny w trakcie instalacji. Wszystkie peracje na bazie mŝna wyknywać tylk za pmcą kmend SQL. Operacje na plikach bazy danych wyknywane inną drgą mgą spwdwać uszkdzenie bazy. Jednak pliki bazy (mfd) i lga (ldf) mgą psłuŝyć d próby dzyskania danych np. p uszkdzeniu systemu peracyjneg. Lg MSSQL W trakcie pracy serwera twrzny jest plik Errrlg w katalgu LOG binariów instancji. Np.: C:\Prgram Files\Micrsft SQL Server\MSSQL$CDN_OPT!MA\Lg\ Zawiera n prócz infrmacji błędach, infrmacje dtyczące pracy serwera raz prcesach naprawczych, jakie zstały pdjęte przez serwer; np. p nieprawidłwym zamknięciu systemu peracyjneg. Plik twrzny jest dla kaŝdeg uruchmienia serwera. Plikm lg z wcześniejszej aktywnści serwera nadawane są rzszerzenia cyfrwe d 1 d 6, gdzie 6 jest najstarszym plikiem lg. Przy klejnym uruchmieniu serwera zstanie n zastąpiny przez plik z nr 5 itd. Plik Errrlg jest twrzny równieŝ w czasie instalacji MSDE. W jej trakcie musi nastąpić uruchmienie serwera w celu knfiguracji. Przykładwy katalg, w którym będą znajdwały się pliki lg t: C:\Prgram Files\Micrsft SQL Server\Mssq$CDN_OPT!MA\Lg W katalgu tym będą twrzne równieŝ pliki raprtów innych błędach i wyjątkach krytycznych w pracy MSSQL serwera. W systemach typu NT część infrmacji błędach przy pracy silnika bazy MSSQL będzie znajdwała się w lgu systemu peracyjneg. Knfiguracja silnika bazy danych dla ptrzeb systemu CDN OPT!MA Knfiguracja dbywa się spsób całkwicie autmatyczny. Wyknać mŝna ją na dwa spsby: Przy pierwszym uruchmieniu prgramu gdy pjawia się wizard Knfiguracja Serwera. Lub pprzez uruchmienie ddatkweg prgramu z pzimu prezentacji instalatra Instalacja > Ddatki > instalacja serwisu klucza HASP. W trakcie knfiguracji pdejmwane są następujące akcje: W razie ptrzeby włączany jest tryb autentykacji Mix mde. Twrzne niezbędne lginy: CDNOperatr (lgin aplikacyjny), CDNGsc Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 5
Nadawane są im dpwiednie prawa i rle. CDNGsc psiada prawa tylk d dczytu danych z serwera, nie jest n zabezpieczny hasłem. Pdłączana jest baza CDN_DEMO Twrzna jest baza CDN_Knfiguracja Twrzne są splszczne pisy błędów zgłaszanych przez MSSQL serwer. Twrzne są prcedury i lginy wykrzystywane w dystrybucji licencji z klucza HASP, w sytuacji gdy serwer będzie równieŝ serwerem zabezpieczeń. Wyknywanie kmend / skryptów SQL na serwerze MSSQL Operacje na danych mgą być wyknywane jedynie za pmcą kmend SQL. Serwer MSSQL udstępnia kilka interfejsów, pprzez które mŝna wyknywać zapytania na serwerze, są nimi: 1. ODBC 2. OLE DB Interfejsy te są wykrzystywane przez róŝnrakie narzędzia np.: OSÓL - ISQL Query Analyzer WIN SQL Knsla Pgramy z interfejsem graficznym Zanim będziemy mgli rzpcząć wyknywanie zapytań na serwerze MSSQL musimy w kaŝdym z tych narzędzi przejść przez prces autentykacji (uwierzytelniania) płączenia d serwera. MSSQL 2000 psiada dwa spsby uwierzytelniania: 1. Przez dmenę NT 2. Przez lginy utwrzne na serwerze MSSQL Aby istniała mŝliwść uŝycia lginów serwerwych, serwer pwinien mieć ustawiną pcję zabezpieczeń w tak zwanym trybie MIXMODE. Tryb ten jest zawsze włączany w trakcie knfiguracji serwera dla ptrzeb prgramu CDN OPT!MA. Bezpśredni p instalacji systemu CDN OPT!MA razem z silnikiem bazy danych w wersji MSDE istnieją następujące lginy serwerwe: Lgin SA CDNGsc CDNOperatr Hasł Niepatrzny hasłem Niepatrzny hasłem Psiada chrnę hasłem Rla System administratr graniczna d dczytu danych Pełny dstęp d baz CDN OPT!MA 1 Uwagi Lgin wbudwany Lgin twrzny pdczas instalacji systemu. Lgin twrzny pprzez instalację. D uŝytku jedynie przez CDN OPT!MA. Lginu teg nie naleŝy usuwać ani zmieniać mu hasła. P zalgwaniu d serwera mŝemy rzpcząć wyknywanie zapytań. 1 Od wersji 14 CDN OPT!MA lgin CDNOperatr nie psiada rli sysadmin na serwerze SQL. Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 6
W niektórych sytuacjach mŝe kazać się ptrzebne wyknanie całej grupy zapytań. Twrzymy wówczas plik skryptu, który pzwli na wyknanie grupy kmend. D wyknania skryptów lub krótkich zapytań bezpśredni na serwerze bardz dbrze nadaje się prgram OSQL (lub ISQL). Narzędzie t instalwane jest razem z wersją MSDE serwera MSSQL. Listę pcji z jakimi mŝna wywłać prgram pjawia się p uruchmieniu aplikacji z parametrem /? : OSQL /? Przykład 1.: Wyknanie skryptu SQL lgując się na lgin SA i zapisanie rezultatów pracy d pliku tekstweg: W linii pleceń naleŝy wpisać następującą kmendę: OSQL /S NAZWA_SERWERA /U SA /P /i C:\PLIK.sql C:\PLIK.TXT /w 1024 Gdzie: NAZWA_SERWERA - nazwa serwera, najczęściej nazwa kmputera\cdn_opt!ma np. M-BEDNAREK\CDN_OPT!MA. Dkładną nazwę serwera mŝna dczytać z Service Managera (ikna kł zegara systemweg ) z linii Server. Zakładamy, Ŝe plik skryptu (PLIK.sql) znajduje się na dysku c:\ MŜe się kazać, Ŝe aby uruchmić prgram OSQL naleŝy pdać d nieg pełną ścieŝkę dstępu. Prgram zapisze rezultaty pracy d pliku C:\PLIK.TXT Przykład 2.: Wyknanie kmendy SQL wprwadznej z pzimu knsli; lgwanie na lgin SA Usunięcie wszystkich peratrów z bazy knfiguracyjnej. Operacja ta pzwala prgramwi na pnwne załŝenia peratra AMIN bez hasła. Pzwli t na zalgwanie się d systemu, jeśli niemŝliwe jest lgwanie się Ŝadneg z utwrznych wcześniej peratrów. OSQL /S NAZWA_SERWERA /U SA /P P pjawieniu się linii zachęty wprwadzamy kmendę: Use cdn_knfiguracja Delete frm CDN.Operatrzy W klejnej linii wprwadzamy słw kluczwe GO, p którym zstaną wysłane d serwera kmendy wprwadzne w wcześniejszych liniach. Kmenda GO jest słwem kluczwym narzędzi Micrsft takich jak OSQL/ISQL Query analizera. Oddziela n grupy zapytań tak zwanych batch-y, które będą wyknywane jedncześnie na serwerze. P uruchmienie CDN OPT!MY, prgram załŝy nweg uŝytkwnika ADMIN niezabezpieczneg hasłem. Przykład 3: Zarówn lgin SA jak i CDNGsc są dmyślnie niepatrzne hasłami. Niekiedy jest t sytuacja niepŝądane ze względu na mŝliwść nieuprawnineg dstęp d danych. Zalecana jest, więc zmiana hasła dla tych lginów bezpśredni p instalacji systemu. MŜna wyknać tą perację za pmcą tak zwanej prcedury składwanej sp_passwrd. EXEC sp_passwrd @ld='ld_pwd', @new='new_pwd', @lginame='lgin' Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 7
Zmiana hasła dla lginu SA mŝe wyglądać w następujący spsób: EXEC sp_passwrd @ld=null, @new='nwe_hasl', @lginame='sa' GO Twrzenie / dtwarzanie kpii bezpieczeństwa bazy Twrzeniem i dtwarzaniem kpii bezpieczeństwa zajmuje się bezpśredni serwer MSSQL. Prgram CDN OPT!MA jest wypsaŝny w kreatr, które pmgą wyknać teg typu czynnści. MŜe jednak zajść ptrzeba wyknania kpii bezpieczeństwa bez pmcy prgramu. Np. dla duŝej ilści baz w biurze rachunkwym wygdnie jest z autmatyzwać prces wyknywania kpii bezpieczeństwa za pmcą skryptu (Przykładwy skrypt dłączny jest d materiałów z Autryzacji technicznej dla CDN OPT!MY). Kmenda T-SQL która pzwala wyknać kpię bazy danych t: BACKUP DATABASE Kmenda ta pzwala na wyknanie kpii w róŝnraki spsób: przyrstwy, róŝnicwy itp. Pełny pis mŝliwści tej kmendy znajduje się w dkumentacji T-SQL-a *) Przykład: Wyknanie całściwej kpii bazy CDN_DEMO na dysk lkalny kmputera: BACKUP DATABASE CDN_DEMO TO DISK = 'C:\BACKUP\DEMO_KOPIA.BAC WITH NAME = N'OPT!MA BAZA DANYCH' Kmenda utwrzy plik bazy nazwie DEMO_KOPIA.BAC Odtwarzanie kpii za pmcą kmend T-SQL mŝe kazać się niec trudniejsze, jeśli dtwarzamy ją na innym systemie peracyjnym. Najlepiej w tej sytuacji skrzystać z kreatra pdłączenia bazy dstępneg z pzimu prgramu. Bazy danych na serwerze MSSQL mgą zstać wyrejestrwane z serwera za pmcą kmend T-SQL. MŜna wówczas kpiwać i przensić bezpśredni pliki bazy (mdf). Oczywiście istnieją równieŝ kmendy, które pzwalają pdłączyć bazę dyspnując jej plikiem mdf. Kmenda pzwalająca na dłączenie bazy: Exec sp_detach_db nazwa_bazy Kmenda pzwalająca na pdłączenie bazy: Exec sp_attach_db nazwa_bazy,..\pełna_ścieŝka_dstępu_d_pliku.mdf, [..\pełna_ścieŝka_dstępu_d_pliku.ldf ] Pdłączenie lub dłączenie bazy z serwera nie znacza, Ŝe pjawi się / zniknie z listy firm w prgramie. Lista baz jest przechwywana w bazie knfiguracyjnej. Aby pdłączenie / dłączenie bazy był przeprwadzne prawidłw, baza musi zstać zarejestrwana / wyrejestrwana z prgramu. MŜna t wyknać w managerze baz danych CDN OPT!MY. Rejestrację istniejących na serwerze baz uruchamiamy ikną węzła natmiast wyrejestrwanie jest pcją kreatra usunięcia bazy z systemu (ikna ksza). Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 8
Odzyskiwanie danych z uszkdzneg serwera lub z uszkdznej bazy. Jedynym 100% śrdkiem zaradczym przed utratą danych jest wyknywanie kpii bezpieczeństwa. W niektórych przypadkach istnieje mŝliwść dzyskania danych bezpśredni z pliku bazy danych (mdf i ldf). Jeśli plik bazy nie jest uszkdzny peracja pwiedzie się. W przypadku całkwitej awarii systemu przensimy jedynie pliki baz raz ich pliki lg-a d prawidłw pracująceg systemu i wyknujemy ich pdłączenie zgdnie z pisem w temacie Pdłączanie / dłączanie bazy danych z serwera Jeśli baza jest wciąŝ pdłączna d serwera, który pracuje pprawnie mŝna sprawdzić jej stan i wyknać naprawę za pmcą kmend DBCC (Database Cnsle Cmmands). Np. kmenda DBCC CHECKDB pzwala na sprawdzenie integralnści całej bazy. Pzwala na na wykrycie i naprawę błędów. Przykład wywłania kmendy DBCC CHECKDB DBCC CHECKDB ( CDN_DEMO ) Funkcja uŝyta w pwyŝszy spsób nie skryguje bazy jeśli plik zstał uszkdzny w spsób uniemŝliwiający dtwrzenie rekrdów. Jeśli jedyną metdą naprawy bazy jest usunięcie uszkdznych pól mŝna uŝyć funkcji CHECKDB z parametrem REPAIR_ALLOW_DATA_LOSS Jeśli jednak naprawa bazy kmendami DBCC nie przyniesie efektów t: naleŝy przenieść dane d nw wykrewanej bazy za mcą mechanizmów DTS (Data Transfrmatin Services). Przykład.: Uszkdzna baza kmenda CHECKDB nie ptrafi naprawić bazy, natmiast dczyt danych jest mŝliwy. 1. Kreujemy nwą, pustą bazę dla prgramu za pmcą skryptu samą strukturę tabel bez triggerów i kluczy 2. Za pmcą mechanizmu DTS ( uruchamiany z Enterprise Managera) przensimy wszystkie rekrdy z uszkdznej bazy d nw wykrewanej. 3. Kńczymy krewanie bazy, twrząc w niej triggery i klucze. 4. Usuwamy uszkdzną bazę psługując się kmendą DBCC DBREPAIR lub DROP DATABAZE Jeśli baza w skutek błędu (najczęściej w biektach systemwych bazy) nie jest widczna dla serwera; flaga SUSPECT jest pdniesina. Najskuteczniejszą metdą dzyskania dstępu d danych jest pdłączenie jej w trybie tylk d dczytu (READ-ONLY). W tym celu naleŝy: 1. skpiwać plik mdf i ldf bazy d inneg katalgu przy zatrzymany silniku. 2. ustawić dla kpii pliku mdf flagę R/O 3. pdłączyć kpię bazy d silnika 4. Przeniesienie danych d nwej bazy z uŝyciem mechanizmu DTS. Przy przenszeniu danych za pmcą mechanizmu DTS skrypty knieczne d utwrzenia bazy mŝna prsić dział wsparcia. (* Ddatkwe materiały związane z kmendami T-SQL i MSSQL 2000 mŝna znaleźć na strnie : http://search.live.cm/macrs/sql_server_user_educatin/bksnline/ Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 9
CDN Skaner Prgram serwiswy CDN Skaner pzwala na wyknanie pdstawwych peracji serwiswych związanych z bazami 1. Wyknanie krekty danych 2. Wyknanie kpii bezpieczeństwa 3. Odtwrzenie kpii bezpieczeństwa 4. Pdłączanie bazy d serwera SQL krzystając z plików mdf. 5. Utwrzenie bazy Prgram jest dstępny na strnie dla partnerów: https://www.cdn.cm.pl/cdnpartnerzy/v_ptima/index_ptima_pliki.aspx Silnik bazy danych Micrsft SQL Serwer 2000 + CDN OPT!MA Str. 10