SQL Server Express - 50 stacji roboczych

0

Mam pytanie o praktyczne granice wersji Express.
Aplikacja Windows Forms, C#, Typed Datasets, kilkadziesiąt stacji roboczych.
Obciążenie małe, tylko czy sama ilość podłączonych userów nie przepełni np. jakichś buforów?

Dane pobierane poprzez stored procedures, wyświetlane na gridach, jakby co mogę dopisać coś w CLR,
zamiast Typed Datasets w krytycznych punktach mogą być zapytania wprost z ADO, EF raczej odpada bo nie jest wydajniejsze i kiepsko współpracuje z gridami WinForms.
Warstwa pośrednicząca (stacje odpytują web service, ten łączy się z bazą) też raczej odpada.

Ma to być aplikacja do rejestrowania czasu pracy/aktywności pracowników, jest ich ok. 50.
Mała aplikacja, każdy rano rejestruje się,że zaczął pracę, w trakcie może rejestrować przerwy, na koniec dnia że skończył albo że jutro ma wolne.
Szefowie i kadry oczywiście mogą oglądać wpisy wszystkich podległych pracowników.

Mam doświadczenie z aplikacjami z SQL Express, ilość danych dużo większa, zapytania bardziej złożone,
userów ok. 20, połowa (dział kadr)korzysta intensywnie, Express daje radę. 2014 czasami się przycinał, w 2017 problemu nie ma.

1

Poszukaj sobie jakie ograniczenia masz na SQL Server Express. Na pewno jest ograniczony procesor, dostępny ram i rozmiar bazy. jak ci procka i ramu wystarczy, to nie powinno być problemu. Przy tej ilości użytkowników koszty licencji standard cię powalą.

1

Z opisu wynika, że nie powinno być problemu, ja za bardzo nie lubię wersji 2017 subiektywnie mam wrażenie, ze strasznie muli 2019 zdecydowanie lepiej (nie robilem jednak żadnych testów)

0
Tomek Pycia napisał(a):

Poszukaj sobie jakie ograniczenia masz na SQL Server Express. Na pewno jest ograniczony procesor, dostępny ram i rozmiar bazy. jak ci procka i ramu wystarczy, to nie powinno być problemu. Przy tej ilości użytkowników koszty licencji standard cię powalą.
Ograniczenia formalne znam, pytam o doświadczenia praktyczne.

0

Jeśli chodzi o skalowalność wersji 2019: https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15#Cross-BoxScaleLimits i widać, że:

Limited to lesser of 1 socket or 4 cores

Z doświadczenia wiem, że SQL Server działa dość sprawnie, pojedyncze zapytania w takiej ilości jak przewidujesz, nie sprawiają problemów.

0

Ja kiedyś robiłem aplikację do rejestrowania czasu pracy na SQL Server Express dla firmy ze 100 pracownikami. Tylko oczywiście nie desktopową, bo to sensu nie ma. I nie wiem, czy w tym przypadku nie będzie problemem, bo to jednak 50 maszyn łączących się z SZBD w wersji demo. O ile miejsca czy procesora to nie zarżnie, to jakiś limit połączeń już może.

0
  1. Nawet w MSDE ten limit polegał na kolejkowaniu zapytań a nie odrzucaniu.
  2. Mam aplikację kadrową, kilkuset ludzi aktualnie zatrudnionych, wszystkich parę razy więcej
    • kadry wrzucają skany wszystkiego co się da o pracowniku, po stronie serwera idzie to do filestream, od strony aplikacji jest to zapis/odczyt
      do/z zwykłego pola binarnego, bez obsługi filestream, więc idzie przez bufory SQl Servera
    • sporo zapytań typu select nazwisko z głównej tabeli i join z kilkoma cte z row_number = 1 z tabel powiązanych: najnowsza stawka, najnowsze BHP, badanie lek.....
    • na potrzeby raportów trochę agregacji danych przy pomocy procedur w CLR/C#
      SQL Express 2014 czasami puchł do ok. 3 GB (taki był max memory limit), przytykał się, raz na 2 tyg. trzeba go było restartować, myślałem, że to jakieś wycieki po mojej stronie - może w CLR, ale po przejściu na 2017 problem znikł - stabilnie zajmuje ok 1 GB RAM. 2014 miał na bufory 1 GB, 2017 ma 1,4 GB.

Czy ktoś ma doświadczenia jak ilość cores < 4 wpływa na wydajność Express-a?
W aplikacji o którą pytam SQl server może być instalowany na oddzielnej maszynie wirtualnej, z być może < 4 cores.

1 użytkowników online, w tym zalogowanych: 0, gości: 1