Skocz do zawartości

Program serwisowy - przydatne skrypty

Polecane posty

Czasami zachodzi potrzeba wykonania pewnych niestandardowych i niedostępnych w Sello operacji na bazie danych. Poniżej przedstawiamy instrukcję oraz treść skryptów realizująca często występujące zadania.

Uwaga! Instrukcja przeznaczona jest dla zaawansowanych użytkowników. Nieumiejętne korzystanie może spowodować utratę lub uszkodzenie danych w Sello. Wszelkie zawarte tutaj polecenia użytkownik wykonuje na własną odpowiedzialność.

Zalecamy przed wykonaniem jakiegokolwiek polecenie SQL wykonać kopię zapasową bazy danych. W razie wystąpienia problemów z bazą można będzie taką bazę przywrócić.

Instrukcja:

1. Polecenia SQL należy wykonać za pomocą dołączonego do Sello programu serwisowego Admin.exe (znajduje się w folderze Sello, domyślnie C:\Program Files\InsERT\Sello\Admin.exe). Może też być Microsoft SQL Management Studio.

2. Po uruchomieniu programu należy zalogować się do serwera używając tych samych danych jakie używane są do logowania się Sello do serwera.

3. Po poprawnym zalogowaniu zostaną wyświetlone bazy danych Sello znajdujące się na tym serwerze.

4. Z listy baz należy wybrać tą, z którą aktualnie Sello współpracuje (jeśli jest ich więcej niż jedna).

5. Kliknąć przycisk Zaawansowane >> Zapytanie SQL

6. W polu należy wkleić odpowiednie polecenie (całe) znajdujące się poniżej, zmienić ewentualnie parametry jak data (jeśli dotyczy) i nacisnąć przycisk Wykonaj.

Uwaga: Datę należy podawać w formacie ROKmiesiącDZIEŃ, np 1 lutego 2013 to będzie 20130201, w pojedynczych cudzysłowach.

 

Lista poleceń.

Spoiler

Polecenie spowoduje wyczyszczenie opisów wszystkich aukcji Allegro, dla których data zakończenia jest wcześniejsza niż data określona w zapytaniu (należy ją zmienić przed wykonaniem polecenia). Polecenie nie usuwa samych aukcji, będą one nadal widoczne w module Aukcje > Wszystkie.


update au_Allegro set aal_description = '' 
where EXISTS(SELECT au_Id FROM au__Auction 
WHERE au_Id = aal_Auctionid AND au_enddate < '20090101')

 

 
 
Spoiler

Polecenie spowoduje wyczyszczenie treści wszystkich wiadomości e-mail, dla których data otrzymania jest wcześniejsza niż data określona w zapytaniu (należy ją zmienić przed wykonaniem polecenia). Polecenie nie usuwa wiadomości (jedynie treść), będą one nadal widoczne w module Wiadomości > Odebrane i Wysłane.


update em_Source set es_source = '' 
where EXISTS(select em_Id from em__Email where em_Id = es_EmailId and em_Date < '20090101')

 

 

Spoiler

Polecenie spowoduje usunięcie (szybkie) wszystkich wpisów z raportu. W wielu bazach może tych wpisów być bardzo dużo i mogą one powodować problem przy konwersji bazy (brak miejsca).


truncate table jb_message
truncate table jb__Job

 

 

Spoiler

 

1. Po pierwsze, bezwzględnie należy zrobić kopię bazy danych.

Jest to rozwiązanie niestandardowe i normalna praca z programem nie

zakłada tego typu ingerencji w bazę danych. Proszę się również upewnić,

że nikt nie pracuje na Sello i wszystkie instancje są wyłączone.

2. Po wykonaniu kopii bezpieczeństwa należy wykonać poniższe polecenie:

 


;WITH cte AS
(
SELECT *, ROW_NUMBER() OVER (PARTITION BY cat_catid ORDER BY (SELECT 0))
AS DuplicateRowNumber
FROM st_category
where cat_SiteId = (select st_Id from st__Site where st_SvcProvId = 1
and st_SiteId = 1)
and cat_expired = 0
and cat_RegId is null
)
DELETE FROM cte WHERE DuplicateRowNumber > 1

 

Uwaga! Może się zdarzyć, że w części przygotowanych aukcji znikną kategorie i trzeba będzie wejść w aukcję przygotowaną i ustawić kategorię ponownie.

Kategorie mogą też zniknąć w aukcjach trwających i zakończonych. W tym wypadku wystarczy pobrać dane o aukcjach aby zostały uzupełnione.

 

Spoiler

Polecenie powoduje przywrócenie powiązań pomiędzy towarami Sello i towarami w Subiekcie (nexo). Sytuacja taka może wystąpić po odłączeniu Sello od Subiekta i ponownym połączeniu.


update it__Item set it_Linked = 1 where it_Linked = 0 and it_ExternalItemId is not null

 

Link to postu
Użytkownik forum
Temat jest zablokowany i nie można w nim pisać.
×
×
  • Dodaj nową pozycję...