Instalacja i konfiguracja serwera SQL
Wstęp
Program może działać w trybie hybrydowym wykorzystując równolegle pliki danych DBF oraz SQL.
Konfiguracja serwera SQL nie jest niezbędna do pracy z systemem w sieci, jednakże skonfigurowanie serwera do pracy w trybie SQL może znacząco zwiększyć wydajność pracy w sieci.
Biuro Rachunkowe „Rzeczpospolitej” nie może korzystać z bazy danych SQL.
Obecnie program wspiera obsługę w trybie SQL następujących tabel:
- Kontrahentów
- Dokumentów magazynowych
- Zamówień
- Kartoteki towarów
- Inne kartoteki i dane firmy
Niektóre funkcjonalności mogą działać inaczej niż w przypadku standardowego programu Mała Księgowość Rzeczpospolitej. Dotyczy to między innymi wyszukiwania przy użyciu „żółtego pola”.
Instalacja serwera SQL
Program współpracuje z serwerem Microsoft SQL Server 2022, Microsoft SQL Server 2019, Microsoft SQL Server 2017, SQL Server 2016, Microsoft SQL Server 2014, Microsoft SQL Server 2012 lub Microsoft SQL Server 2008 R2 w dowolnej wersji (Express, Standard, Enterprise etc.)
Instrukcja odnosić się będzie do instalacji i konfiguracji serwera Microsoft SQL Server 2022 Express. Należy zapoznać się z podstawami produktu Microsoft SQL Server 2022 przed rozpoczęciem instalacji.
Instalator serwera w wersji Express można pobrać z strony: www.microsoft.com/pl-pl/sql-server/sql-server-downloads.


Należy zainstalować serwer SQL tylko na jednym komputerze, który nazywany będzie po prostu serwerem. Serwer SQL nie musi zostać zainstalowany na tym samym komputerze co serwer Małej Księgowości „Rzeczpospolitej”, jednakże jest to rozwiązanie zalecane.
Po uruchomieniu instalatora wybieramy typ instalacji „Custom”:
Po uruchomieniu pobranego pliku należy wybrać opcję „New SQL Server stand-alone installation or add feature to an existing installation” w celu zainstalowania nowej instancji bazy danych.
Zapoznajemy się z licencją, akceptujemy ją i przechodzimy do następnego kroku:
Instalator sprawdzi i zainstaluje niezbędne uaktualnienia jeżeli będzie to potrzebne.
Azure Extensions for SQL Server nie są niezbędne:
Kolejny ekran zawiera listę funkcjonalności do zainstalowania. Należy się upewnić, że wybrana jest funkcjonalność „Database Engine Services”.
Kolejnym krokiem jest konfiguracja instancji bazy danych. Najwygodniej jest wskazać domyślną instancję bazy danych SQL podczas instalacji „Default instance”. Domyślna instancja nazywana jest również MSSQLSERVER. W przypadku podania innej nazwy instancji niż domyślna konieczne będzie podawanie nazwy instancji podczas konfiguracji połączenia z bazą danych.
Następnie należy zmienić lub potwierdzić konta użytkowników na których uruchamiany będzie serwer SQL
Kolejnym krokiem jest konfiguracja sposobu autentykacji użytkowników. W opcji tej należy wybrać „Mixed Mode (SQL Server authentication and Windows authentication)” oraz podać hasło dla użytkownika/administratora bazy danych.
Następnie instalator zainstaluje serwer SQL, a kolejny ekran będzie ekranem potwierdzenia zakończenia instalacji.
Instalacja sterowników ODBC
Na wszystkich stacjach roboczych oraz na serwerze wymagane jest zainstalowanie sterowników ODBC „SQL Server Native Client 10.0”, „SQL Server Native Client 11.0”, „ODBC Driver 11 for SQL Server”, „ODBC Driver 13 for SQL Server” lub „ODBC Driver 17 for SQL Server” lub nowszych w zależności od wersji serwera. Komponent ten jest instalowany domyślnie wraz z serwerem SQL na pozostałych stacjach roboczych należy zainstalować komponent samodzielnie.
Instalator sterowników ODBC można pobrać np. z strony: https://www.jaslan.pl/mk#sql
Należy pobrać odpowiednią wersję sterownika w zależności od systemu operacyjnego oraz procesora stacji roboczej x86 lub x64.
Konfiguracja serwera SQL
Korzystając z przystawki „Sql Server Configuration Manager” dostępnej po uruchomieniu serwera w opcji „Administracja\Ustawienia\Konfiguracja serwera SQL”
Należy upewnić się, że włączone są usługi „SQL Server”.
Następnie należy włączyć protokół TCP/IP dla wybranej instancji (np SQL Server Network Configuration\Protocols for MSSQLSERVER). W tym celu należy dwukrotnie nacisnąć na wybrany protokół:
oraz zmienić jego ustawienie „Enabled” na „Yes”. Warto również sprawdzić port.
Następnie należy powrócić do opcji „SQL Server Services” i zrestartować usługę poprzez naciśnięcie prawym przyciskiem myszy na np. SQL Server (MSSQLSERVER) i wybranie opcji „Restart”.
Jeżeli serwer „Microsoft SQL Server” był już wcześniej zainstalowany to przy użyciu „Microsoft SQL Management Console” należy upewnić się, że w właściwościach serwera:
- Wybrana jest opcja „SQL Server and Windows Authentication mode” w ustawieniach „Security”,
- Baza danych ma ustawione „Collation” – „Polish_CI_AS”,
Konfiguracja Zapory systemu Windows
Należy utworzyć regułę w systemie Windows umożliwiającą połączenie z serwerem SQL. Jeżeli na serwerze zainstalowany jest inny program zapory sieciowej lub anty wirus, należy upewnić się że nie blokuje on dostępu do usług SQL na serwerze.
Do utworzenia reguł w można wykorzystać następujący skrypt (jest on dostepny do uruchomienia z poziomu konfiguracji połączenia programu (zakładając że serwer SQL skonfigurowany jest do korzystania z portu TCP 1433 oraz UDP 1434:
netsh advfirewall firewall add rule name="SQLPort" dir=in action=allow protocol=TCP localport=1433
netsh advfirewall firewall add rule name="SQLBrowserPort" dir=in action=allow protocol=UDP localport=1434
Konfiguracja połączenia programu
Korzystając z opcji opcji „Administracja\Ustawienia\Opcje bazy danych SQL” należy skonfigurować połączenia do bazy danych.
Pierwszy krokiem będzie określenie sterownika ODBC (SQL Server Native Client 11.0 dla bazy danych Microsoft SQL Server 2012) oraz podanie nazwy serwera. Jeżeli użyta została domyślna nazwa instancji nie potrzebne jest jej podawanie, jeżeli serwer został skonfigurowany z użyciem instancji nazwanej należy ją podać np. SERWER\SQLEXPRESS. Należy również podać nazwę bazy danych i nacisnąć przycisk „Utwórz” znajdujący sie z prawej strony pola „Baza danych”.
Po utworzeniu bazy danych należy utworzyć użytkownika, który będzie używany do połączenia się z bazą danych poprzez podanie jego nazwy oraz hasła i naciśnięcia przycisku „Utwórz” znajdującego się z prawej strony pola „Nazwa użytkownika”.
Test powinien zakończyć się następującym komunikatem
Opcjonalnie można zaznaczyć opcję Stronicowanie danych. Opcja ta pozwoli na zmniejszenie ilości przesyłanych danych pomiędzy komputerami w sieci.
Migracja danych
Uwaga!
Migracja danych wykonywania jest automatycznie po prawidłowym skonfigurowaniu serwera. Poniży opis dotyczy tylko i wyłącznie ręcznej migracji danych i nie jest wymagany przy normalnej instalacji
W celu wykonania migracji danych z bazy danych DBF do SQL należy uruchomić polecenie z katalogu w którym zainstalowany jest program (np. używając polecenia cmd):
Do migracji danych wymagane jest wcześniejsze skonfigurowanie połączenia SQL w serwerze programu.
SqlExport.exe --to-sql <TableName>
Podając nazwy tabel czyli:
SqlExport.exe --to-sql FIRMA
SqlExport.exe --to-sql KLIENT
SqlExport.exe --to-sql OBROTYT
SqlExport.exe --to-sql OBROTYD
SqlExport.exe --to-sql TOWAR
Lista tabel obsługujących SQL:
- DZIENNIK
- WPISY
- ZAPLATK
- KLIENT
- KLIENTG
- CENNIK
- TOWAR
- OBROTYD
- OBROTYT
- OBROTYP
- ZAMOWD
- ZAMOWT
- OFERTAD
- OFERTAT
- FZAPLATY
- TRANS
- STVAT
- MAGAZYN
- JM
- FIRMA
- WALUTA
- KONTAB
- USTAW
- KONTA
- ZDARZEN
Narzędzie SqlExport.exe posiada również tryb pozwalający na wyeksportowanie bazy danych SQL do bazy danych DBF. Służy do tego akcja „–to-dbf” np. „SqlExport.exe –to-dbf OBROTYD”.
Narzędzie SqlExport może wyeksportować dowolną tabelę z struktury danych określonych przez program. Dotyczy to również tabel które nie są obsługiwane w programie w trybie SQL np. „DZIENNIK”. Wyeksportowanie danych do bazy danych SQL może być pomocne w celu stworzenia własnych raportów bądź zapytań SQL.
Konserwacja
Do zadań konserwacyjnych należeć będą:
- okresowe sprawdzanie stanu serwera SQL w tym stanu plików, pakowanie plików etc.
- archiwizacja z poziomu programu Mała Księgowość Rzeczpospolitej odbywa się w ten sam sposób. Podczas archiwizacji dane z tabel SQL przenoszone są do plików DBF. Nie wymagane jest zatem wykonywanie backupów bazy danych SQL oddzielnie.
Dodatkowe narzędzia
Zalecamy zainstalowanie Microsoft Management Studio https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms – jest to narzędzie służące do zarządzania bazą danych oraz podglądu i modyfikacji danych.
Ustawienie zależności
Jeżeli serwer SQL jest zainstalowany na tym samym serwerze co serwer programy można dodatkowo ustawić zależność pomiędzy serwisami uruchamiając skrypt PowerShell jako administrator:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\SerwerMK" -Name DependOnService -Value "MSSQLSERVER"
Nazwa usługi serwera SQL może być różna w zależności od instancji dla domyślnej instancji SQL Express może to być: MSSQL$SQLEXPRESS
Nazwa usługi serwera programu może być różna w zależności od instancji dla domyślnej instancji jest to SerwerMK, dla nazwanej instancji SerwerMK-{instancja}
Uwaga!
Microsoft SQL Server 2008 R2, Microsoft SQL Server 2012, Microsoft SQL Server 2014, Microsoft SQL Server 2016, Microsoft SQL Server 2019, Microsoft SQL Server 2022 są produktami firmy Microsoft. Wszystkie znaki towarowe zawarte w niniejszej instrukcji należą do ich właścicieli.