Autor Wątek: Baza MS SQL na linuxie  (Przeczytany 77437 razy)

0 użytkowników i 3 Gości przegląda ten wątek.

Offline duruszczak

  • Nowy użytkownik
  • *
  • Wiadomości: 21
  • Reputacja +0/-0
  • Wersja programu: Najnowsza
Odp: Baza MS SQL na linuxie
« Odpowiedź #60 dnia: Lipiec 04, 2018, 09:49:11 »
(wcześniej zostały podane nieprawdziwe informacje), a nie tylko 4 rdzenie...

Nie bardzo rozumiem jakie nieprawdziwe informacje podałem.

Przedstawiłem informacje z tego co i jak robiłem.
Jak wspomniałem, wdrożenia robię na tzw "własne potrzeby" a że nie widziałem, żeby ktoś od strony komercyjnej/profesjonalnej do tego tematu podchodził napisałem swoje spostrzeżenia.
Jeżeli moje opinie są niemerytoryczne i mogą kogoś wprowadzić w błąd, to niech admin usunie moje posty i po kłopocie.
To co przetestowałem mogłem zostawić dla siebie, ale może ktoś się pokusi i sprawdzi u siebie.

Nie czerpię z tego zysków - nie robię wdrożeń - nie pomagam za kaskę.
Sam płacę zewnętrznym firmom (obecnym na tym forum) za rozwiązania do Subiekta.

Offline duruszczak

  • Nowy użytkownik
  • *
  • Wiadomości: 21
  • Reputacja +0/-0
  • Wersja programu: Najnowsza
Odp: Baza MS SQL na linuxie
« Odpowiedź #61 dnia: Lipiec 04, 2018, 09:52:29 »
Szkoda dyskusji na ten temat.
Kiedyś na telefonach królował Symbian dzisiaj Linux.
Dzisiaj na desktopach Windows jutro Chrome OS albo inny linux
Dla mnie ten wątek jest już wyczerpany.

Offline micha

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1028
  • Reputacja +9/-0
  • Wersja programu: Sub+Rew GT [najnowsze]
Odp: Baza MS SQL na linuxie
« Odpowiedź #62 dnia: Lipiec 04, 2018, 10:10:19 »
A jak przeprowadzić poprawny test wydajności?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Baza MS SQL na linuxie
« Odpowiedź #63 dnia: Lipiec 04, 2018, 10:45:49 »
(wcześniej zostały podane nieprawdziwe informacje), a nie tylko 4 rdzenie...

Nie bardzo rozumiem jakie nieprawdziwe informacje podałem.

Czytaj - gdzie niby napisałem, że to Ty podałeś te informacje... ? Odnosiłem się do informacji zawartych w tym wątku.

Przedstawiłem informacje z tego co i jak robiłem.

A ja pozwoliłem sobie się do tego odnieść.

Jak wspomniałem, wdrożenia robię na tzw "własne potrzeby" a że nie widziałem, żeby ktoś od strony komercyjnej/profesjonalnej do tego tematu podchodził napisałem swoje spostrzeżenia.

Jak wielokrotnie pisałem to Twój czas i możesz go spędzać tak, jak uważasz... Do strony komercyjnej ja i koledzy odnosiliśmy się wielokrotnie.

Nie czerpię z tego zysków - nie robię wdrożeń - nie pomagam za kaskę.

Osobiście nie widzę nic złego w pracy za wynagrodzenie.

Sam płacę zewnętrznym firmom (obecnym na tym forum) za rozwiązania do Subiekta.

To dokładnie tak jak ja ;) Mam napisać kolejny raz dlaczego ? Bo nie da się wszystkiego zrobić samemu i/lub jest to nieuzasadnione ekonomicznie...

Szkoda dyskusji na ten temat.

Dla jasności - jaki temat ? Ja zakładam, że cały czas mowa o wydajności ?

Kiedyś na telefonach królował Symbian dzisiaj Linux.
Dzisiaj na desktopach Windows jutro Chrome OS albo inny linux
Dla mnie ten wątek jest już wyczerpany.

Nie wybiegam, aż tak daleko w przyszłość... O końcu Windowsa i zastąpieniu go Linuxem słyszałem jakieś 20 lat temu na studiach od zafascynowanych kolegów i co - jaka jest rzeczywistość po tylu latach - praktycznie taka sama - warto zastanowić się dlaczego...

A jak przeprowadzić poprawny test wydajności?

Jak już sugerowałem wypadłoby zacząć od poprawnej konfiguracji środowiska testowego, a z podstawowych to zarządzenie energią i priorytet usługo, co do samych operacji na bazie danych to dobrego pomysłu nie mam, kiedyś już z resztą o tym pisałem, w przypadku GT najprostszym testem do uruchomienia wydaje się czas zakładania podmiotu i konwersja bazy danych z wielu wersji, coś więcej to już trzeba byłoby oprogramować, na przykład Sferyczne tworzenie dokumentów symulujące pracę kilku użytkowników...
Daniel, Białystok.

Offline micha

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1028
  • Reputacja +9/-0
  • Wersja programu: Sub+Rew GT [najnowsze]
Odp: Baza MS SQL na linuxie
« Odpowiedź #64 dnia: Lipiec 04, 2018, 18:04:48 »
korzystając z odpowiedniej wersji można wykorzystać cały procesor (wcześniej zostały podane nieprawdziwe informacje), a nie tylko 4 rdzenie...

Czy jeżeli mam wersję 2008R2 i w sys.os_dm_schedulers widzę 8 pozycji o statusie "VISIBLE ONLINE" - to oznacza to, że sql express korzysta z 8 wątków?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Baza MS SQL na linuxie
« Odpowiedź #65 dnia: Lipiec 04, 2018, 19:32:24 »
korzystając z odpowiedniej wersji można wykorzystać cały procesor (wcześniej zostały podane nieprawdziwe informacje), a nie tylko 4 rdzenie...

Czy jeżeli mam wersję 2008R2 i w sys.os_dm_schedulers widzę 8 pozycji o statusie "VISIBLE ONLINE" - to oznacza to, że sql express korzysta z 8 wątków?

Tak, tak powinno być.
Daniel, Białystok.

Offline micha

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1028
  • Reputacja +9/-0
  • Wersja programu: Sub+Rew GT [najnowsze]
Odp: Baza MS SQL na linuxie
« Odpowiedź #66 dnia: Lipiec 04, 2018, 19:40:46 »
korzystając z odpowiedniej wersji można wykorzystać cały procesor (wcześniej zostały podane nieprawdziwe informacje), a nie tylko 4 rdzenie...

Czy jeżeli mam wersję 2008R2 i w sys.os_dm_schedulers widzę 8 pozycji o statusie "VISIBLE ONLINE" - to oznacza to, że sql express korzysta z 8 wątków?

Tak, tak powinno być.

Czyli ppdniesienie wersji to byłby zły pomysł, bo spadłoby do 4 wątków?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17189
  • Reputacja +800/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Baza MS SQL na linuxie
« Odpowiedź #67 dnia: Lipiec 04, 2018, 20:50:15 »
Tak, nie zawsze "nowe" oznacza "lepsze" ;)
Daniel, Białystok.

Offline mol123

  • Nowy użytkownik
  • *
  • Wiadomości: 2
  • Reputacja +0/-0
  • Wersja programu: Rewizor GT 1.62
Odp: Baza MS SQL na linuxie
« Odpowiedź #68 dnia: Kwiecień 04, 2020, 00:33:00 »
Przepraszam za odkopanie tego postu ale to jedyne sensowne miejsce jakie wygooglowałem.

Na czym polega mój problem ... mam Rewizora GT (wiem to nie Subiekt ale idea chyba taka sama). Baza wcześniej pracowała na Windows Server 2008 teraz nadszedł czas migracji. Zainstalowałem mssql na debianie. Przeniosłem bazę (backup i restore) teoretycznie wszystko działa mogę się połączyć przez sqlcmd widzę bazę i tabele.

Na windowsie mogę się połączyć z serwerem za pomocą Azure Data Studio czy czy też SQL Server Management Studio i baza jak i tabele są widoczne ale problem mam z połączeniem się z Rewizora czy też programu serwisowego. One jakby nie mogę się połączyć :(





MSSQL zainstalowany jest w kontenerze na serwerze głównym, w iptables zorione jest przekierowanie portów (port domyślny 1433). Ale jak widać działa to i serwer jest widoczny z w sieci lokalnej i nie wiedzieć czemu Rewizor go nie widzi.

Jakieś pomysły, sugestie?
dzięki

Offline mol123

  • Nowy użytkownik
  • *
  • Wiadomości: 2
  • Reputacja +0/-0
  • Wersja programu: Rewizor GT 1.62
Odp: Baza MS SQL na linuxie
« Odpowiedź #69 dnia: Kwiecień 05, 2020, 05:14:25 »
OK już sonie poradziłem ... się okazało że MSQL 2019 jest za nowy dla Insert GT, instalacja wersji 2017 rozwiązała problem.

Offline wilen

  • Nowy użytkownik
  • *
  • Wiadomości: 1
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.34 SP3
Odp: Baza MS SQL na linuxie
« Odpowiedź #70 dnia: Wrzesień 03, 2020, 12:46:00 »
Miałem podobny problem i mogę potwierdzić z MSSQL 2019 na Ubuntu za cholerę Subiekt GT nie ruszy... Teraz mam MSSQL 2017 na Docker (cały czas Ubuntu) i działa. Problem mam tylko z archiwizacją. Cały czas kombinuję jak podpiąć wspólny katalog (dla kontenera na Docker i Windows 10) tak by ta archiwizacja działała... . Jak ktoś ma jakąś radę, to proszę o podzielenie się.

OK już sonie poradziłem ... się okazało że MSQL 2019 jest za nowy dla Insert GT, instalacja wersji 2017 rozwiązała problem.

Offline Artwi

  • Aktywny użytkownik
  • ***
  • Wiadomości: 187
  • Reputacja +3/-0
  • Wersja programu: Insert GT aktualny
Odp: Baza MS SQL na linuxie
« Odpowiedź #71 dnia: Wrzesień 08, 2020, 10:22:49 »
Cały czas kombinuję jak podpiąć wspólny katalog (dla kontenera na Docker i Windows 10) tak by ta archiwizacja działała... . Jak ktoś ma jakąś radę, to proszę o podzielenie się.
Co prawda nie używam archiwizacji z InsERTa, tylko skryptu sqlcmd odpalanego cronem, ale mniemam, że aby ta archiwizacja działała, to ścieżka dostępu do katalogu roboczego dla ms sql i Windy musi być taka sama. A to oznacza, że pewnie musisz w tym kontenerze doinstalować sambę i katalog roboczy ustawić w jakiejś trzeciej lokalizacji sieciowej i albo ją udostępnić wszystkim, albo się pogimnastykować z prawami dostępu dla ms sql i archiwizera na Windzie. Ew., ale to pewnie trudniejsze, tak udostępnić po sambie katalog roboczy na Windzie i tak go zamontować na Linuksie, by były w obu widziane tą samą ścieżką (ms sql na Linuksie symuluje układ katalogów na Windzie - w pewnych granicach oczywiście - i w przeciwieństwie do pakietu InsERT GT, łyka każdy standard ścieżek dostępu - i windziany i linuksowy, więc ze względu na InsERT, trzeba stosować windziany) i też zadbać o uprawnienia użytkowników.
Mając na uwadze, że ewentualna krytyka może być, tak musimy zrobić, żeby tej krytyki nie było, tylko aplauz i zaakceptowanie.

Offline lurk

  • Nowy użytkownik
  • *
  • Wiadomości: 7
  • Reputacja +1/-0
  • Wersja programu: Rewizor GT
Odp: Baza MS SQL na linuxie
« Odpowiedź #72 dnia: Październik 13, 2022, 22:03:18 »
mklink /d C:\ProgramData\InsERT\Temp \\uSql\tmp - oto jest całe magiczne polecenie

Archiwizacja, upgrade baz do nowej wersji i attach jest uruchamiana z aplikacji, więc trzeba zrobić tak, żeby aplikacja po WIN  miała folder Temp podlinkowany do  katalogu na Linux z serwerem SQL udostępnionego sambą

mklink /d C:\ProgramData\InsERT\Temp \\uSql\tmp - oto jest całe magiczne polecenie
gdzie usql to serwer mssql linux z udostepnionym katalogiem przez Sambę.

Aplikacje widzą wtedy katalog tymczasowy z linux jako zwykły katalog tymczasowy pod Windows i wszystkie programy manipulujące bazami działają.

tu jest opis gościa, który zrobił to centosie:

http://forumsubiekta.pl/subiekt/opis-dzialajacej-instalacji-mssql-linux-(centos-7)/msg107690/#msg107690

Działa to u mnie w ten sposób cały pakiet Insert GT z 120 bazami  łącznie z backupem, podnoszeniem wersji, programem serwisowym i BiuroGT (działa mi konwersja bez problemu).
Ponadto oskryptowałem sobie w Linux automatyczny backup różnicowy wszystkich baz co godzinę, który wciągam automatycznie generowanymi skryptami podczas backupu  (restoreall.sh, restoreall.sql) do zapasowego MSSQL pod Windows na PC cie. Gdyby kiedyś z jakiegoś powodu klękło mi to rozwiązanie (MSSQL for ubuntu w kontenerze LXC na hoście Proxmox  w systemie plików ZFS), to mam poza migawkami z systemu plików zapasowy serwer SQL pod Windows z danymi sprzed godziny, backup full+differential wszystkich baz i skrypty pozwalające postawić mi to wszystko na nowym SQL kilkoma kliknięciami.

kompletną instrukcję mogę podesłać.

Offline Artwi

  • Aktywny użytkownik
  • ***
  • Wiadomości: 187
  • Reputacja +3/-0
  • Wersja programu: Insert GT aktualny
Odp: Baza MS SQL na linuxie
« Odpowiedź #73 dnia: Październik 17, 2022, 12:57:30 »
kompletną instrukcję mogę podesłać.
Dzięki lurk, jesteś Wielki! Dla takich postów ludzie wchodzą na fora a nie dla porad w stylu "Znajdź sobie dobrego specjalistę". Sam mam podobną konfigurację (Ubuntu w kontenerach na Proxmox), tylko nie używałem samby (ze względów bezpieczeństwa, wydaje mi się, że bez niej będzie bezpieczniej) i problemy są z tego powodu są trzy: że archiwizacja z poziomu InsERTa nie działa, ale mi to nie przeszkadza, bo archiwizuję z poziomu MS SQL skryptami a jak wydaję bazę byłym klientom, to ją wcześniej przerzucam na serwer na Windzie, gdzie i tak muszę zmienić hasło szefa przed wydaniem oraz chcę, by wydane archiwa miały windziane ścieżki do plików bazy, chcę, jak były klient nie umie tego podpiąć, by nie tłumaczył tego bazą z Linuksa itp. Reszta rzeczy (Biuro GT, aktualizacja itp. działają), tylko na serwerze linuksowym w temp zostają śmieci (których przy Sambie by nie było), które usuwam skryptem. Trzeci problem to linuksowe ścieżki z "/" co MS SQL nie przeszkadza, InsERTowi prawie też nie (działa na nich, ale nie zrobi kopii czy nie przywróci z niej podmiotu. Edycja ścieżek plików baz na Linuksie na windziane rozwiązuje problem, bo jak wspominałem ms sql łyka każde (nawet "/\"(!) a InsERT wtedy nie ma problemu).

Mam pytanie: spotkałem się w Internecie z opinią, że VM zamiast kontenera na Proxmox ma lepszą wydajność I/O, bo podobno VM mają lepiej tam zrobioną optymalizację współbieżnych operacji I/O niż kontenery - masz jakieś zdanie na ten temat? Bo mam tam oczywiście też inne kontenery niż z bazami InsERTa.
Mając na uwadze, że ewentualna krytyka może być, tak musimy zrobić, żeby tej krytyki nie było, tylko aplauz i zaakceptowanie.

Offline lurk

  • Nowy użytkownik
  • *
  • Wiadomości: 7
  • Reputacja +1/-0
  • Wersja programu: Rewizor GT
Odp: Baza MS SQL na linuxie
« Odpowiedź #74 dnia: Listopad 02, 2022, 20:37:06 »
Dzięki za uznanie - to nie wielkość, tylko upór.
Postawiłem sobie za cel postawienie alternatywy dla serwera dla small buisness server z serwerem plików, kontrolerem domeny, MSSQL serwerem, serwerem VPN i serwerem backupu/synchronizacji stacji roboczych (SyncThing). udało mi się te wszystkie komponenty postawić w kontenerach. A wszystko za free, na mocnej maszynie.
Czyli z funkcjami które oferują NASy +MSSQL server i wszystko to na systemie plików pozwalającym na migawki i replikację pomiędzy dwoma hostami (ZFS)

Co do LxC vs VM - oczywiście, że bezpieczniej stawiać na produkcji MSSQL server w VM  ze względu na:
-snapshoty.( Pod Proxmox możesz dla VM robić snapshoty (qm snapshot --vmstate=1) wraz z zawartościa RAM,     co zwiększa  znacząco szanse na to, że bazy po przywróceniu VM ze snapshota będą koherentne (bo zrzucone wraz z buforami z RAM).

-buforowanie zapisu/odczytu do systemu plików. Dla MSSQL lepiej jest ustawiać to na Write through (odczyt cache, zapis nie), w kontenerze tego nie zrobisz tak wprost

-Migrację w locie i replikację pomiędzy hostami - kontener musisz zatrzymać, a VM nie.

-Lepszą izolację pomiędzy gościem i gospodarzem.

Co do wydajności zapisów to nie znam tego porównania.

Na co trzeba uważać ?
Otóż MSSQL for linux jest wypatroszony z service providers. Moment kiedy będziesz chciał z baz eksportować dane, lub do baz importować coś z exel, lub access może zaoowocować błędem:
"Cannot create an instance of OLE DB provider "MSDASC" for linked server "(null)"

Nie udało mi się np. w Płatniku zarchiwizować danych płatnika do bazy archiwalnej lub zewnętrznej stojącej na MSSQL Linux, co pokazuje tylko że niektóre funkcje w aplikacjach mogą nie zadziałać, co może zdyskwalifikować całe przedsięwzięcie.








kompletną instrukcję mogę podesłać.
Dzięki lurk, jesteś Wielki! Dla takich postów ludzie wchodzą na fora a nie dla porad w stylu "Znajdź sobie dobrego specjalistę". Sam mam podobną konfigurację (Ubuntu w kontenerach na Proxmox), tylko nie używałem samby (ze względów bezpieczeństwa, wydaje mi się, że bez niej będzie bezpieczniej) i problemy są z tego powodu są trzy: że archiwizacja z poziomu InsERTa nie działa, ale mi to nie przeszkadza, bo archiwizuję z poziomu MS SQL skryptami a jak wydaję bazę byłym klientom, to ją wcześniej przerzucam na serwer na Windzie, gdzie i tak muszę zmienić hasło szefa przed wydaniem oraz chcę, by wydane archiwa miały windziane ścieżki do plików bazy, chcę, jak były klient nie umie tego podpiąć, by nie tłumaczył tego bazą z Linuksa itp. Reszta rzeczy (Biuro GT, aktualizacja itp. działają), tylko na serwerze linuksowym w temp zostają śmieci (których przy Sambie by nie było), które usuwam skryptem. Trzeci problem to linuksowe ścieżki z "/" co MS SQL nie przeszkadza, InsERTowi prawie też nie (działa na nich, ale nie zrobi kopii czy nie przywróci z niej podmiotu. Edycja ścieżek plików baz na Linuksie na windziane rozwiązuje problem, bo jak wspominałem ms sql łyka każde (nawet "/\"(!) a InsERT wtedy nie ma problemu).

Mam pytanie: spotkałem się w Internecie z opinią, że VM zamiast kontenera na Proxmox ma lepszą wydajność I/O, bo podobno VM mają lepiej tam zrobioną optymalizację współbieżnych operacji I/O niż kontenery - masz jakieś zdanie na ten temat? Bo mam tam oczywiście też inne kontenery niż z bazami InsERTa.

Forum Użytkownikow Subiekt GT

Odp: Baza MS SQL na linuxie
« Odpowiedź #74 dnia: Listopad 02, 2022, 20:37:06 »