Autor Wątek: Zapytanie SQL - usuwanie załączników  (Przeczytany 5201 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Andy

  • Użytkownik
  • **
  • Wiadomości: 67
  • Reputacja +2/-0
  • Wersja programu: najnowsza
Zapytanie SQL - usuwanie załączników
« dnia: Marzec 02, 2017, 14:00:07 »
Witam.
Chciałbym z poziomu SQL usunąć wszystkie załączniki z maili datowanych poniżej określonej daty.
Niestety nie znalazłem w dokumentacji bazy gdzie są zapisane.
Zrobiłem takie zestawienie:

UPDATE
    firma_fortec_kopia.dbo.em_Source
SET
    firma_fortec_kopia.dbo.em_Source.es_SourceData = ''
   
FROM         firma_fortec_kopia.dbo.em_Source
INNER JOIN
             firma_fortec_kopia.dbo.em__Email ON firma_fortec_kopia.dbo.em_Source.es_Id = firma_fortec_kopia.dbo.em__Email.em_Id
WHERE     ( firma_fortec_kopia.dbo.em__Email.em_Date < '2013-11-30')

ale wyrzuca całą treść maila, a chciałbym usunąć wyłącznie załączniki.

Kasowanie ręczne załączników z Gestora to masakra czasowa :)
Jakieś wskazówki gdzie mogę znaleźć i usunąć same załączniki ?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17067
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #1 dnia: Marzec 02, 2017, 17:21:28 »
Kasowanie ręczne załączników z Gestora to masakra czasowa :)

Nie wiem o czym piszesz, przecież można to zrobić zbiorczo kilkoma kliknięciami myszki ? :o Zaglądałeś w ogóle do zbiorczego usuwania wiadomości ?
Daniel, Białystok.

Offline Andy

  • Użytkownik
  • **
  • Wiadomości: 67
  • Reputacja +2/-0
  • Wersja programu: najnowsza
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #2 dnia: Marzec 02, 2017, 22:55:48 »
Te kilka kliknięć myszki przy 20 użytkownikach i Insercie działającym od 5 lat stwarza problem - to są setki tysięcy @.
Niektórzy użytkownicy systemu są nieaktywni, a ich załączniki zajmują tyko miejsce w bazie.
Żeby poczyścić @ z załącznikow trzeba stracić na to masę czasu.
Gestor nie należy do demonów prędkości w tym temacie  :D .
Z poziomu bazy jednym zapytaniem mógłbym wywalić wszystkie załączniki wszystkich użytkowników w ciągu kilku sekund zamiast kilkunastu godzin...
W tym jest problem.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17067
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #3 dnia: Marzec 03, 2017, 01:15:53 »
Te kilka kliknięć myszki przy 20 użytkownikach i Insercie działającym od 5 lat stwarza problem - to są setki tysięcy @.
Niektórzy użytkownicy systemu są nieaktywni, a ich załączniki zajmują tyko miejsce w bazie.
Żeby poczyścić @ z załącznikow trzeba stracić na to masę czasu.

Powtórzę się - nie wiem o czym piszesz/nie rozumiem problemu.

Gestor nie należy do demonów prędkości w tym temacie  :D.

Wiele razy, od lat pisałem na forum o możliwościach optymalizacji, wybór należy do Ciebie.

Z poziomu bazy jednym zapytaniem mógłbym wywalić wszystkie załączniki wszystkich użytkowników w ciągu kilku sekund zamiast kilkunastu godzin...
W tym jest problem.

Jaka to różnica ile czasu będzie trwało usuwanie, nawet jeśli te przesadzone kilkanaście godzin to uruchomisz wieczorem, na rano będziesz miał gotowe - klikania na "kilka sekund". Ja usuwam wiadomości z poziomu programu, nie miałem potrzeby szukać szybszego rozwiązania, właśnie u jednego z klientów usunąłem 3,5GB wiadomości, gdyż baza zbliżała się do 10GB (Express).
Daniel, Białystok.

Offline Chris

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 2850
  • Reputacja +275/-0
  • Wersja programu: GT, Nexo - aktualne
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #4 dnia: Marzec 03, 2017, 12:14:46 »
...
Kasowanie ręczne załączników z Gestora to masakra czasowa :)
Jakieś wskazówki gdzie mogę znaleźć i usunąć same załączniki ?
Widok > Administracja -> Ustawienia wiadomości -> Usuń zbiorczo wiadomości.
Krzysztof, Radom

Offline Andy

  • Użytkownik
  • **
  • Wiadomości: 67
  • Reputacja +2/-0
  • Wersja programu: najnowsza
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #5 dnia: Marzec 03, 2017, 12:18:59 »
To jest właśnie wg mnie kasowanie ręczne

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17067
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #6 dnia: Marzec 03, 2017, 15:59:19 »
To jest właśnie wg mnie kasowanie ręczne

Jeśli tylko chcesz to możesz mieć automat, to Twój czas i/lub pieniądze - ja tylko ciągle nie rozumiem problemu i nie widzę potrzeby automatyzacji tej operacji.
Daniel, Białystok.

Offline Chris

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 2850
  • Reputacja +275/-0
  • Wersja programu: GT, Nexo - aktualne
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #7 dnia: Marzec 03, 2017, 17:50:57 »
To jest właśnie wg mnie kasowanie ręczne
To napisz jak usuwasz, bo może coś robisz nie tak. Używasz filtrów i opcji "Zaznacz wszystkie"?
Krzysztof, Radom

Offline Aldo

  • Ekspert
  • *****
  • Wiadomości: 10695
  • Reputacja +433/-13
  • Wersja programu: najnowsza
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #8 dnia: Marzec 03, 2017, 20:10:57 »
Czytam i mam wątpliwości czy piszecie o tym samym.
@Andy o usuwaniu załączników, a @Chris o usuwaniu wiadomości.
Jak dla mnie, to dwie rózne rzeczy. Usuwając załącznik pozostaje treść samego maila w historii. Usuwając maila nie mam nic.

Offline Biniew

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4095
  • Reputacja +275/-17
  • Wersja programu: GT i Nexo
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #9 dnia: Marzec 03, 2017, 20:13:40 »
Zbiorcze usuwanie wiadomości
Okno to wywoływane z Ustawień wiadomości pozwala usunąć niepotrzebne wiadomości.

W jego górnej części znajduje się rozbudowany filtr pozwalający na wybranie żądanej grupy e-maili spośród wszystkich przechowywanych w systemie. Te wybrane - zostaną umieszczone w tabeli.

 

Użytkownik, poprzez zaznaczenie odpowiedniej pozycji przełącznika znajdującego się pod tabelą, może zdecydować, czy mają zostać skasowane same załączniki do e-maili, czy usunąć treści wiadomości wraz z załącznikami, ale zostawić nagłówki wiadomości lub czy usunąć całe wiadomości (treść, załącznik i nagłówek).

 

Po wybraniu którejkolwiek z pozycji omawianego powyżej przełącznika oraz naciśnięciu klawisza Wykonaj zostanie wyświetlone dodatkowe okno, w którym należy potwierdzić zamiar skasowania wybranych elementów wiadomości (załączników lub treści wiadomości i załączników, lub też całych wiadomości). Dodatkowo, zakreślając znajdujący się tu znacznik można zdecydować, aby przed skasowaniem wskazane elementy wiadomości zostały zapisane na dysku (w folderze wybieranym w standardowym oknie Windows, które pojawi się po naciśnięciu klawisza Tak).


Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17067
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #10 dnia: Marzec 03, 2017, 20:15:20 »
Czytam i mam wątpliwości czy piszecie o tym samym.
@Andy o usuwaniu załączników, a @Chris o usuwaniu wiadomości.
Jak dla mnie, to dwie rózne rzeczy. Usuwając załącznik pozostaje treść samego maila w historii. Usuwając maila nie mam nic.

Też nie zajrzałeś do programu ;)
Daniel, Białystok.

Offline Andy

  • Użytkownik
  • **
  • Wiadomości: 67
  • Reputacja +2/-0
  • Wersja programu: najnowsza
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #11 dnia: Marzec 04, 2017, 01:16:14 »
Po pierwsze dziękuję za zainteresowanie tematem.

Znam opcję Gestora zbiorcze usuwanie załączników w @ - to jest zbyt wolne, trzeba się logować na konto użytkownika, filtrować wiadomości po dacie, potem zaznaczać usuwanie załączników z maili i wykonać operację, która trwa bardzo długo - przy 20 użytkownikach i systemie z danymi z 5 lat są to ogromne ilości danych i czasu poświęconego na ich usunięcie.

Zapytanie do bazy które zrobiłem pokazane w pierwszym moim poście  które usuwa @ starsze niż wskazana data nie spełnia moich oczekiwań - usuwa co prawda załączniki, ale również treść maila - to mi nie odpowiada, chcę zostawić treść wiadomości, a usunąć tylko i wyłącznie załączniki. Usunięcie maili z poziomu MSSQL trwa 100 razy krócej niż usuniecie tych samych danych z poziomu Gestora.

Z tych powodów szukam rozwiązania, które nie będzie wymagało ode mnie tzw "małpiej roboty" trwającej x godzin, kiedy jednym zapytaniem mogę załatwić temat w ciągu kilku sekund/minut.

Nie przypuszczam żeby to był tylko mój problem - postów o tym, że baza urosła do "masy krytycznej" było na forum wiele - w moim przypadku załączniki @ zajmują 60% rozmiaru dopuszczalnego rozmiaru bazy danych... - chyba nie muszę tego komentować  :)

Nie satysfakcjonuje mnie opcja logowania się na danego użytkownika, usuwania mu załączników przez komputer całą noc i tak po kolei następnych 19. Będzie to trwało 20 dni żeby wyczyścić bazę,  jak skończę,to po pół roku cała zabawa od nowa..., a w zapytaniu SQL jest to tylko zmiana daty od kiedy zostawić załączniki trwająca 10 sekund, puszczenie zapytania do bazy - wynik w ciągu minuty - jest różnica?

Jeśli piszę niejasno o co mi chodzi - proszę o jasne wskazanie gdzie jest wątpliwość.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17067
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #12 dnia: Marzec 04, 2017, 11:06:39 »
Znam opcję Gestora zbiorcze usuwanie załączników w @ - to jest zbyt wolne, trzeba się logować na konto użytkownika,

Nie, nie trzeba się logować na konto każdego użytkownika co pokazuje, że po prostu nie znasz dobrze programu - przecież wystarczy włączyć widoczność wszystkich kont pocztowych dla siebie ?

filtrować wiadomości po dacie, potem zaznaczać usuwanie załączników z maili i wykonać operację, która trwa bardzo długo - przy 20 użytkownikach i systemie z danymi z 5 lat są to ogromne ilości danych i czasu poświęconego na ich usunięcie.

Napisałem jak to zrobić angażując "kilka minut swojego czasu", nie wiem z jakiego powodu ignorujesz moje odpowiedzi i sugestie.

Poza tym nie raczyłeś napisać ile tak na prawdę trwa operacja usuwania załączników tylko w s/min/h bo "długo" i zgadywanki niewiele wnoszą. Nie napisałeś też czy baza była optymalizowana co znacznie powinno przyspieszyć nie tylko usuwanie załączników, ale również pracę z programem na co dzień.
 
Zapytanie do bazy które zrobiłem pokazane w pierwszym moim poście  które usuwa @ starsze niż wskazana data nie spełnia moich oczekiwań - usuwa co prawda załączniki, ale również treść maila - to mi nie odpowiada, chcę zostawić treść wiadomości, a usunąć tylko i wyłącznie załączniki. Usunięcie maili z poziomu MSSQL trwa 100 razy krócej niż usuniecie tych samych danych z poziomu Gestora.

Napisałem jak możesz spełnić swoje oczekiwania, nawet trzymałem zamówienie, ale zostało anulowane... Jeśli chcesz to zrealizować samemu to wielokrotnie na forum pisałem/pisaliśmy jak to zrobić - należy podejrzeć jak robi to program i zrobić tak samo.

Z tych powodów szukam rozwiązania, które nie będzie wymagało ode mnie tzw "małpiej roboty" trwającej x godzin, kiedy jednym zapytaniem mogę załatwić temat w ciągu kilku sekund/minut.

Według mnie "małpia robota" to tracenie czasu na szukanie rozwiązań, które są dostępne w programie.

Nie przypuszczam żeby to był tylko mój problem - postów o tym, że baza urosła do "masy krytycznej" było na forum wiele - w moim przypadku załączniki @ zajmują 60% rozmiaru dopuszczalnego rozmiaru bazy danych... - chyba nie muszę tego komentować  :)

Musisz komentować wszystko bo najzwyczajniej w świecie nie wiem o czym myślisz i co robisz, bo niby skąd ? Jesteś pierwszą znaną mi osobą, która robi z tego problem - wszyscy inni (włącznie ze mną) korzystają ze standardowych funkcjonalności programu do usuwania wiadomości, usuwania wiadomości poprzedzonego zapisaniem kopii wiadomości na dyski, usuwania załączników.

Nie mniej Twoje podejście/oczekiwanie jest maksymalnie uproszczone i nie jest ono akceptowalne przez znanych użytkowników, którzy intensywnie korzystają z poczty i zależy im na historii korespondencji (jeden z klientów ma około 140GB danych), oni oczekują selektywnego usuwania wiadomości według różnych reguł typu "z określonym tematem, ale starszych niż x dni (powiadomienia o nowościach)", gdzie takie reguł może być po prostu wiele i będą dochodziły nowe.

Nie satysfakcjonuje mnie opcja logowania się na danego użytkownika, usuwania mu załączników przez komputer całą noc i tak po kolei następnych 19. Będzie to trwało 20 dni żeby wyczyścić bazę,  jak skończę,to po pół roku cała zabawa od nowa..., a w zapytaniu SQL jest to tylko zmiana daty od kiedy zostawić załączniki trwająca 10 sekund, puszczenie zapytania do bazy - wynik w ciągu minuty - jest różnica?

Już o tym pisałem - szkoda, że nie czytałeś tego co piszę.

Jeśli piszę niejasno o co mi chodzi - proszę o jasne wskazanie gdzie jest wątpliwość.

Wskazywałem od pierwszej odpowiedzi i wskazałem w tej.

Daniel, Białystok.

Offline Andy

  • Użytkownik
  • **
  • Wiadomości: 67
  • Reputacja +2/-0
  • Wersja programu: najnowsza
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #13 dnia: Marzec 04, 2017, 21:19:20 »
Dziękuję wszystkim za informacje - w świetle tego co piszecie to mój problem tkwi w tym, że nie mam konta Szef-a i nie widzę innych kont @ użytkowników.

Offline Andy

  • Użytkownik
  • **
  • Wiadomości: 67
  • Reputacja +2/-0
  • Wersja programu: najnowsza
Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #14 dnia: Marzec 04, 2017, 21:23:09 »
Przepraszam , że tak post pod postem, ale forum się chyba wysypało i nie mam możliwości edycji.
Szczególne podziękowania za naprowadzenie na właściwą ścieżkę dla dkozlowski i Bieniew

Forum Użytkownikow Subiekt GT

Odp: Zapytanie SQL - usuwanie załączników
« Odpowiedź #14 dnia: Marzec 04, 2017, 21:23:09 »