eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.pecetSerwer dla MS-SQL (crosspost)
Ilość wypowiedzi w tym wątku: 16

  • 11. Data: 2014-04-23 13:24:05
    Temat: Re: Serwer dla MS-SQL (crosspost)
    Od: wloochacz <w...@n...spam.gmail.com>

    W dniu 2014-04-22 21:13, Adam pisze:
    > W dniu 2014-04-19 22:11, Adam pisze:
    >> W dniu 2014-04-19 21:03, wloochacz pisze:
    >>> W dniu 2014-04-19 19:00, Adam pisze:
    >>> (...)
    >>> W dobrze zaprojektowanej i wdrożonej aplikacji (i bazie danych
    >>> oczywiście) nie ma prawa zdarzyć się coś takiego jak "popsuta baza".
    >>> Nie wiem, może za mało widziałem, ale... Zajmuję się MSSQLem od wersji
    >>> 2000 na poważnie i nigdy nie miałem przypadku popsutej bazy danych, na
    >>> poziomie serwera.
    >>> Braki w danych, osercone dokumenty, zagubione transkacje - pewnie, że
    >>> było. Ale to był efekt źle zaprojektowanej apliakcji. Tylko i wyłącznie.
    >>
    >> Nie wiem, czy dobrze się wyraziłem.
    >>
    >> Przykład:
    >> Klient się "walnął" i z jakichś powodów trzeba fakturę wycować "do
    >> bufora" ("Bufor" oznacza, że dokument jest zapisany, ale nie
    >> zatwierdzony "na stałe", można go dowolnie zmieniać lub usunąć).
    >>
    >> Przy wycofaniu do bufora trzeba pamiętać, aby wycofać dokumenty
    >> magazynowe (czyli WZ), wycofać płatności (czyli KP), wrócić ewentualne
    >> rezerwacje i jeszcze wiele innych rzeczy.
    >> Wydaje mi się, że gdyby nie było triggerów, to serwisant mógłby
    >> przykładowo wycofać WZ, przywrócić rezerwacje, ale zapomniałby o
    >> wycofaniu płatności.
    A pewnie - mógłby.
    Gmeranie po bazie danych zawsze może skończyć się czymś podobnym.

    >> Tym zajmują się triggery.
    >> Czy dobrze myślę?
    Dobrze, ale z zastrzeżeniem - tym mogą zajmować się triggery.
    Tak samo jak da się to zrobić za pomoca procedury wywoływanej na żądanie
    - np. przez aplikację serwisową.
    Kiedyś dwano tem, jak zajmowałem się wdrożeniami ERPów, miałem cały
    toolbox do takich zabaw ;-)

    >>
    >> (...)
    >>
    >
    > Przypomniało mi się jeszcze jedno ważne zadanie dla triggerów: dodatkowe
    > warunki.
    >
    > W systemie CDN-Optima nie ma możliwości zdefiniowania "wymagalności" pól.
    > Przykładowo, formatka kontrahenta. Chcemy wymusić wprowadzenie wartości
    > do pola "telefon" - najprościej zrobić trigger, który będzie darł pysk,
    > jeśli chcemy zapisać kartę kontrahenta z pustym polem "telefon".
    > Oczywiście to dość prosty, wręcz trywialny przykład.
    > Nie bardzo wiem, jak inaczej można by to zrobić.
    Ale, moim zdaniem, to jest krzywe... walidacją tego typu powinna
    zajmować się aplikacja.
    Powinna oferować użytkownikowi stosowne możliwości do definicji takich
    walidatorów - włącznie z walidacją opartą na wyrażeniach/skryptach.
    A jeśli tego nie robi - no cóż...

    > Zaleta: triggery "przeżywają" konwersję bazy danych do nowszej wersji, a
    > Optima jest aktualizowana kilkukrotnie w ciągu roku.
    Raczej odwrotnie ;-)
    Zauważ, że MSSQL jest taki "gupi", że nie sprawdza triggerów/procedur
    pod kątem zgodności ze schematem bazy danych.
    Innymi słowy - stwórz trigger, który robi cokolwiek i odwłuje się do
    jakiegoś pola w tabeli.
    Potem usuń to pole (zmień nazwę, cokolwiek) - teraz masz trigger, który
    pieknie się wysypie w momencie jego użycia - ale nie wcześniej.

    Poza tym, oglądam dokumentację CDN - faktycznie, tam ejst cala masa
    triggerów, które wołają się nawzajem.
    Trafiłem na taki zapis:
    if @@NESTLEVEL>4 return

    Uuuaaa... nie będę się wypowiadał, bo za mało wiem - ale to wygląda
    podejrzanie.

    --
    wloochacz


  • 12. Data: 2014-04-23 23:38:45
    Temat: Re: Serwer dla MS-SQL (crosspost)
    Od: fReLuZ <f...@i...com.pl>

    W dniu 2014-04-18 13:19, Zgr pisze:
    > Cześć.
    >
    > Potrzeby:
    > - baza danych na MS-SQL, perspektywicznie ponad 15GB
    > - dostęp zdalny przez Remote Desktop dla 5 do 8 osób
    > - lokalnie (w sieci LAN) max. ok. 15 osób
    >
    > Maszynka ma być na kilka lat.
    >
    > Czy coś takiego wystarczy:
    >
    > Platforma: IBM x3500 M4 v2 (IBM 7383D5G)
    >
    > Proc: 1x Xeon 6C E5-2630v2 80W 2.6GHz/1600MHz/15MB, ( możliwość dodania
    > +1 szt)
    >
    > RAM: 2x 16GB (1x16GB, 2Rx4, 1.35V) PC3L-10600 CL9 ECC DDR3 1333MHz LP
    > RDIMM (IBM 46W0672)
    >
    > Macierz: ServeRAID M5100 Series 512MB Flash/RAID 5, nie wymaga baterii
    > (IBM 81Y4487)
    >
    > HDD: 5x IBM 300GB 2.5in SFF 10K 6Gbps HS SAS HDD (IBM 90Y8877) będą
    > ustawione w RAID5 (4 szt) + 1 szt. jako Hot Spare
    >
    > 2 x zasilacz 750W (IBM 94Y5974)
    >
    > UPS UPS1500THV - 1050W (53962KX )
    >
    > Od strony OS, będzie to Win 2012 Std z CAL-ami lokalnymi i WinRmt oraz
    > SQL Srv Standard 2012.
    >
    > Czy od strony sprzętowej wystarczy to na jakieś pięć lat?
    >
    > Szybsze dyski są ponad dwukrotnie droższe (IBM 81Y9670).
    > Później można dorzucić drugi procesor i RAM.
    >
    >
    > Jakieś inne propozycje?
    >
    > Na samą stronę sprzętową budżet ograniczony do ok. 16 tys. zł. netto.
    >


    generalnie i na oko jezeli to jakas aplikacja typu Optima - no to da rade.


  • 13. Data: 2014-04-24 00:01:47
    Temat: Re: Serwer dla MS-SQL (crosspost)
    Od: Adam <a...@p...onet.pl>

    W dniu 2014-04-23 13:24, wloochacz pisze:
    > W dniu 2014-04-22 21:13, Adam pisze:
    >> W dniu 2014-04-19 22:11, Adam pisze:
    >>> W dniu 2014-04-19 21:03, wloochacz pisze:
    >>>> W dniu 2014-04-19 19:00, Adam pisze:
    >>>> (...)
    >>>> W dobrze zaprojektowanej i wdrożonej aplikacji (i bazie danych
    >>>> oczywiście) nie ma prawa zdarzyć się coś takiego jak "popsuta baza".
    >>>> Nie wiem, może za mało widziałem, ale... Zajmuję się MSSQLem od wersji
    >>>> 2000 na poważnie i nigdy nie miałem przypadku popsutej bazy danych, na
    >>>> poziomie serwera.
    >>>> Braki w danych, osercone dokumenty, zagubione transkacje - pewnie, że
    >>>> było. Ale to był efekt źle zaprojektowanej apliakcji. Tylko i
    >>>> wyłącznie.
    >>>
    >>> Nie wiem, czy dobrze się wyraziłem.
    >>>
    >>> Przykład:
    >>> Klient się "walnął" i z jakichś powodów trzeba fakturę wycować "do
    >>> bufora" ("Bufor" oznacza, że dokument jest zapisany, ale nie
    >>> zatwierdzony "na stałe", można go dowolnie zmieniać lub usunąć).
    >>>
    >>> Przy wycofaniu do bufora trzeba pamiętać, aby wycofać dokumenty
    >>> magazynowe (czyli WZ), wycofać płatności (czyli KP), wrócić ewentualne
    >>> rezerwacje i jeszcze wiele innych rzeczy.
    >>> Wydaje mi się, że gdyby nie było triggerów, to serwisant mógłby
    >>> przykładowo wycofać WZ, przywrócić rezerwacje, ale zapomniałby o
    >>> wycofaniu płatności.
    > A pewnie - mógłby.
    > Gmeranie po bazie danych zawsze może skończyć się czymś podobnym.
    >
    >>> Tym zajmują się triggery.
    >>> Czy dobrze myślę?
    > Dobrze, ale z zastrzeżeniem - tym mogą zajmować się triggery.
    > Tak samo jak da się to zrobić za pomoca procedury wywoływanej na żądanie
    > - np. przez aplikację serwisową.
    > Kiedyś dwano tem, jak zajmowałem się wdrożeniami ERPów, miałem cały
    > toolbox do takich zabaw ;-)
    >
    Ja patrzę z poziomu CDN-Optimy.
    Tam w zasadzie oprócz SQL Management Studio, albo prostego skanera nic
    więcej nie potrzeba.

    Oczywiście jest też garść procedur, ale czasem szybciej jest zrobić coś
    "z palca". No, chyba że wypuszczam "młodego" pracownika, to wolę, aby
    używał gotowych skryptów.


    >>>
    >>> (...)
    >>>
    >>
    >> Przypomniało mi się jeszcze jedno ważne zadanie dla triggerów: dodatkowe
    >> warunki.
    >>
    >> W systemie CDN-Optima nie ma możliwości zdefiniowania "wymagalności" pól.
    >> Przykładowo, formatka kontrahenta. Chcemy wymusić wprowadzenie wartości
    >> do pola "telefon" - najprościej zrobić trigger, który będzie darł pysk,
    >> jeśli chcemy zapisać kartę kontrahenta z pustym polem "telefon".
    >> Oczywiście to dość prosty, wręcz trywialny przykład.
    >> Nie bardzo wiem, jak inaczej można by to zrobić.
    > Ale, moim zdaniem, to jest krzywe... walidacją tego typu powinna
    > zajmować się aplikacja.

    Optima ma zdefiniowane jako "wymagalne" tylko najważniejsze pola, reszta
    jest opcjonalna. Nie ma flag "wymagalności"

    Jak pisałem, jest to trywialny przykład.
    Ale można zrobić przykładowo trigger, który będzie sprawdzał historię
    płatności, historię dokumentów spłacanych po terminie i np. proponował
    (lub przeliczał) nową tabelę rabatową.

    > Powinna oferować użytkownikowi stosowne możliwości do definicji takich
    > walidatorów - włącznie z walidacją opartą na wyrażeniach/skryptach.
    > A jeśli tego nie robi - no cóż...

    W Optimie skrypty można podpiąć jako funkcję dodatkową, wołaną na
    żadanie przez operatora, lub jako filtr do widoku tabel, który to filtr
    może być wymagalny dla użytkownika. Przykład: tabela pracowników w
    kadrach, gdzie poszczególne "panienki" mogą mieć dostęp tylko do
    pracowników swojego wydziału, zaś "naczelna matrona" widzi wszystkich.

    >
    >> Zaleta: triggery "przeżywają" konwersję bazy danych do nowszej wersji, a
    >> Optima jest aktualizowana kilkukrotnie w ciągu roku.
    > Raczej odwrotnie ;-)
    > Zauważ, że MSSQL jest taki "gupi", że nie sprawdza triggerów/procedur
    > pod kątem zgodności ze schematem bazy danych.
    > Innymi słowy - stwórz trigger, który robi cokolwiek i odwłuje się do
    > jakiegoś pola w tabeli.
    > Potem usuń to pole (zmień nazwę, cokolwiek) - teraz masz trigger, który
    > pieknie się wysypie w momencie jego użycia - ale nie wcześniej.

    Zgadza się.
    Ale w Optimie przy konwersji danych do nowszej wersji są dodawane nowe
    pola (i klucze, i indeksy, i widoki), natomiast nigdy (chyba) nie są
    usuwane istniejące, nawet jeśli już są niepotrzebne.
    Przykład:
    w "starych" wersjach Optimy na kartotece towaru była jednostka miary
    główna i dodatkowa (np. sztuka i karton) oraz pole EAN.
    Aktualnie (od kilku wersji) jest dowolna liczba jednostek miary
    przypisanych do jednej kartoteki towarowej (np. 1 szt, 12 szt= karton,
    192 szt = skrzynka, 13824 szt=paleta) oraz do każdej z tych jednostek
    można "dokleić" dowolną liczbę kodów EAN.
    Stąd m.in. pole "jm. dodatkowe" już nie jest potrzebne, ale zostaje.
    Tyle, że trzeba własne procedury, wydruki czy triggery pozmieniać.

    Kwestia dyskusyjna, czy lepiej, gdy trigger/procedura/wydruk od razu się
    wyłoży, bo zniknęło pole, czy po miesiącu klient zacznie wrzeszczeć, że
    coś mu się źle liczy, bo procedura leci po pustych polach.

    >
    > Poza tym, oglądam dokumentację CDN - faktycznie, tam ejst cala masa
    > triggerów, które wołają się nawzajem.
    > Trafiłem na taki zapis:
    > if @@NESTLEVEL>4 return
    >
    > Uuuaaa... nie będę się wypowiadał, bo za mało wiem - ale to wygląda
    > podejrzanie.
    >

    W którym miejscu? Pamiętasz? Możesz podać?

    Ja już kilka razy widziałem IF 1=1 AND - też nie wiem, po co. Nie
    pamiętam, gdzie to było, ale jak znajdę, to spytam.

    Poza tym Ty teraz oglądasz chyba CDN-XL, natomiast Optima jest dużo
    prostsza.



    --
    Pozdrawiam.

    Adam


  • 14. Data: 2014-04-24 15:31:42
    Temat: Re: Serwer dla MS-SQL (crosspost) - UWAGA: Essential ma zablokowane RD
    Od: Adam <a...@p...onet.pl>

    W dniu 2014-04-18 14:22, wloochacz pisze:
    > W dniu 2014-04-18 13:19, Zgr pisze:
    >>(...)
    >> Od strony OS, będzie to Win 2012 Std z CAL-ami lokalnymi i WinRmt oraz
    >> SQL Srv Standard 2012.
    > Dlaczego nie Essential?
    > Powinien być tańszy i ma więcej softu na pokładzie.
    >

    Uwaga: znalazłem informację, która może być bardzo istotna:

    "Informujemy, że licencja WS Essentials nie posiada możliwości pracy
    terminalowej. Usługa terminalowa może służyć jedynie do celów
    administracyjnych (2 adminów). Niestety infolinie handlowe MS informują
    o takiej funkcjonalności, podczas gdy technicznie została wyłączona w
    tym produkcje. ,,Only the RD Gateway role service is installed and
    configured, other RDS role services including RD Session Host are not
    supported." Podobna sytuacja występuje w wersji WS Foudandation 2012.

    Rozwiązaniem jest postawienie terminala na osobnym serwerze (np. Windows
    Server Foundation 2008 OEM). Ma on jednak limit dostępu dla maksymalnie
    15 użytkowników. WSF natomiast nie może być jednocześnie kontrolerem
    domeny i serwerem terminali."

    Źródła nie podam, gdyż cytat pochodzi ze stron walidowanych dla dealerów
    CDN.



    --
    Pozdrawiam.

    Adam


  • 15. Data: 2014-04-24 15:45:41
    Temat: Re: Serwer dla MS-SQL (crosspost) - UWAGA: Essential ma zablokowane RD
    Od: wloochacz <w...@n...spam.gmail.com>

    W dniu 2014-04-24 15:31, Adam pisze:
    > W dniu 2014-04-18 14:22, wloochacz pisze:
    >> W dniu 2014-04-18 13:19, Zgr pisze:
    >>> (...)
    >>> Od strony OS, będzie to Win 2012 Std z CAL-ami lokalnymi i WinRmt oraz
    >>> SQL Srv Standard 2012.
    >> Dlaczego nie Essential?
    >> Powinien być tańszy i ma więcej softu na pokładzie.
    >>
    >
    > Uwaga: znalazłem informację, która może być bardzo istotna:
    >
    > "Informujemy, że licencja WS Essentials nie posiada możliwości pracy
    > terminalowej. Usługa terminalowa może służyć jedynie do celów
    > administracyjnych (2 adminów). Niestety infolinie handlowe MS informują
    > o takiej funkcjonalności, podczas gdy technicznie została wyłączona w
    > tym produkcje. ,,Only the RD Gateway role service is installed and
    > configured, other RDS role services including RD Session Host are not
    > supported." Podobna sytuacja występuje w wersji WS Foudandation 2012.
    >
    > Rozwiązaniem jest postawienie terminala na osobnym serwerze (np. Windows
    > Server Foundation 2008 OEM). Ma on jednak limit dostępu dla maksymalnie
    > 15 użytkowników. WSF natomiast nie może być jednocześnie kontrolerem
    > domeny i serwerem terminali."
    >
    > Źródła nie podam, gdyż cytat pochodzi ze stron walidowanych dla dealerów
    > CDN.
    No to zawsze takiego Essentiala można doposażyć w Thinstuff Terminal Server
    http://www.thinstuff.com/products/xpvs-server/
    I tak wyjdzie sporo taniej; nie, nie testowałem, ale ficzery ma zachęcające.


    --
    wloochacz


  • 16. Data: 2014-04-24 15:48:25
    Temat: Re: Serwer dla MS-SQL (crosspost) - UWAGA: Essential ma zablokowane RD
    Od: wloochacz <w...@n...spam.gmail.com>

    W dniu 2014-04-24 15:45, wloochacz pisze:
    > No to zawsze takiego Essentiala można doposażyć w Thinstuff Terminal Server
    > http://www.thinstuff.com/products/xpvs-server/
    > I tak wyjdzie sporo taniej; nie, nie testowałem, ale ficzery ma
    > zachęcające.
    Albo nasz rodzimy WinFlector:
    https://www.winflector.com/

    Tego testowałem i działało całkiem fajnie.


    --
    wloochacz

strony : 1 . [ 2 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: