---
title: Śledzenie zmian w bazie danych, które zostały wprowadzone przez projekt mapowania danych
date: 2019-05-01
categories:
  - data-integration
  - database
  - database-mapping
  - database-tracing
tags:
  - data-integration
  - data-mapping
  - database-mapping
  - database-tracing
  - mapforce
description: Altova MapForce umożliwia śledzenie zmian w bazach danych dla wszystkich popularnych relacyjnych baz danych, co pozwala na rejestrowanie modyfikacji wprowadzonych przez projekt mapowania danych.
---
Status: #blog

Tags:  #data-integration #data-mapping #database-mapping #database-tracing #mapforce

Categories: [data-integration](/blog/pl/category/data-integration.md) | [database + sql](/blog/pl/category/database-sql.md) | [data-integration](/blog/pl/category/data-integration.md) | [database-tracing](/blog/pl/category/database-tracing.md)
# Śledzenie zmian w bazie danych, które zostały wprowadzone przez projekt mapowania danych

Administratorzy baz danych oraz inni specjaliści zajmujący się danymi często chcą śledzić zmiany wprowadzane w krytycznych bazach danych, szczególnie gdy aktualizacje są dokonywane przez automatyczne skrypty lub inne operacje. Funkcja śledzenia baz danych umożliwia administratorom monitorowanie ważnych zmian lub anomalii oraz pomaga w odzyskiwaniu danych po błędach. Altova MapForce obsługuje śledzenie baz danych dla [wszystkich popularnych relacyjnych baz danych](https://www.altova.com/pl/mapforce#db_mapping), umożliwiając rejestrowanie zmian wprowadzanych przez projekt mapowania danych do bazy danych podczas jego działania.

Kiedy włączone jest śledzenie, zdarzenia takie jak operacje zapisu lub aktualizacji danych w bazie, a także błędy, są rejestrowane w pliku XML, który można później analizować lub przetwarzać automatycznie.

Śledzenie aktywności bazy danych można włączyć na poziomie komponentu bazy danych, tabeli, procedury składowanej lub pola bazy danych. Można wybrać śledzenie wszystkich komunikatów lub tylko błędów, lub też całkowicie wyłączyć śledzenie.

![](/blog/images/container_ship2.jpg)

Oprócz śledzenia błędów, które pojawiają się podczas przetwarzania danych i ich przesyłania do bazy danych, MapForce umożliwia również obsługę transakcji baz danych, co pozwala na wycofanie zmian w przypadku wystąpienia błędu, a następnie, opcjonalnie, kontynuowanie przetwarzania pozostałej części danych.

<!--more-->

Włączenie obsługi transakcji w bazie danych spowoduje, że wszystkie zmiany wprowadzone przez komponent bazy danych zostaną umieszczone wewnątrz transakcji, która zostanie cofnięta w przypadku wystąpienia błędu. Można wybrać, czy kontynuować przetwarzanie pozostałej części mapowania, czy też przerwać dalsze wykonywanie. Możliwe jest włączenie transakcji zarówno na poziomie komponentu bazy danych, jak i na poziomie akcji wykonywanych na tabelach.

Przeanalizujmy przykład śledzenia działania bazy danych.

Folder z przykładami MapForce zawiera mapowanie o nazwie Altova_Hierarchical_DB, które przekształca hierarchiczne dane z dokumentu XML na tabele w bazie danych.

[![Mapowanie danych z pliku XML do bazy danych.](/blog/images/data-mapping-1.png)](data-mapping-1.png)

Kliknięcie prawym przyciskiem myszy na niebieskim pasku na górze bazy danych otwiera okno dialogowe z właściwościami, które zawiera opcję włączenia śledzenia oraz możliwość określenia pliku dziennika śledzenia. Śledzenie może być wyłączone, włączone tylko dla błędów lub włączone dla wszystkich operacji. W tym miejscu można również określić nazwę i ścieżkę pliku dziennika śledzenia bazy danych.

[![Poziomy śledzenia bazy danych](/blog/images/database-tracing-levels.png)](database-tracing-levels.png)

Po uruchomieniu procesu mapowania poprzez kliknięcie przycisku "Wyjście" znajdującego się pod panelem mapowania, generowane są dwa pliki.

Poniżej znajduje się podgląd skryptu SQL. Baza danych nie zostanie zmodyfikowana, dopóki nie zostanie wybrana opcja "Uruchom skrypt SQL" z menu "Wyjście". Drugi plik to podgląd pliku dziennika śledzenia XML.

[![Podgląd skryptu SQL do mapowania danych](/blog/images/data-mapping-SQL-script.png)](data-mapping-SQL-script.png)

[![Podgląd pliku dziennika śledzenia bazy danych](/blog/images/tracelog-preview.png)](tracelog-preview.png)

Plik dziennika śledzenia zostanie zaktualizowany później, na podstawie rzeczywistego wykonania skryptu, zgodnie z informacjami zawartymi w wierszach 2-3 powyżej.

### Konfiguracja śledzenia bazy danych

Czasami może się zdarzyć, że chcemy śledzić tylko kilka konkretnych operacji. MapForce umożliwia dostosowanie śledzenia na poziomie tabeli, pola lub procedury składowanej. W przypadku mapowania przedstawionego tutaj, możemy chcieć śledzić wszelkie błędy, a także generować zapis zawierający wszystkie imiona i nazwiska dodane do tabeli "Osoby".

Możemy to osiągnąć, ustawiając poziom śledzenia dla całej bazy danych na "Błędy". Następnie możemy ustawić poziom śledzenia dla tabeli "Osoby" na "Zawsze" i wybrać pola, które mają być ukryte lub wyświetlane

[![Wybór pól do śledzenia w bazie danych](/blog/images/database-trace-fields.png)](database-trace-fields.png)

Po uruchomieniu skryptu SQL, okno podglądu wyświetla wynik każdego polecenia SQL. Na poniższych zrzutach ekranu wyróżniliśmy jedno imię, aby je zaakcentować.

![](/blog/images/SQL-execution-result.png)

Dziennik zdarzeń zawiera listę wszystkich nazwisk dodanych do tabeli "Osoby":

![](/blog/images/tracelog-result.png)

Wszelkie informacje śledzące dodane do mapowania bazy danych będą również generowane, gdy mapowanie jest wykonywane w trybie automatycznym przez serwer MapForce lub pod kontrolą serwera FlowForce. Zadanie uruchomione na serwerze FlowForce może nawet automatycznie przetwarzać plik XML z logami wyjściowymi, aby utworzyć spersonalizowany raport.

Aby dodatkowo potwierdzić wynik naszego przykładu, możemy otworzyć bazę danych za pomocą programu DatabaseSpy, który jest unikalnym narzędziem [Narzędzie do wykonywania zapytań, projektowania i porównywania baz danych](https://www.altova.com/pl/databasespy), i zapoznać się bezpośrednio z zawartością tabeli:

[![Zawartość tabeli bazy danych po wykonaniu procesu mapowania danych](/blog/images/final-table-contents.png)](final-table-contents.png)

W kolejnym artykule przyjrzymy się obsłudze transakcji baz danych, aby w przypadku wystąpienia błędu można było przywrócić do poprzedniego stanu zmienione dane. W międzyczasie, jeśli chcą Państwo samodzielnie przetestować śledzenie działania bazy danych, korzystając z tego przykładu lub konfigurując mapowania danych dla własnych baz, [pobierzcie bezpłatną wersję próbną MapForce](https://www.altova.com/pl/download).
