Skip to main content

Optima: kopia bazy danych - chatGPT

ZROBIENIE KOPII BAZY DANYCH "MOJA"

Z poziomu Comarch ERP Optima

  1. Zaloguj się do Konfiguracji programu (Start → Konfiguracja programu → Ogólne → Bazy danych).

  2. Zaznacz bazę danych o nazwie MOJA.

  3. Kliknij Kopiuj (lub „Utwórz kopię” w nowszych wersjach).

  4. Nadaj nową nazwę, np. MOJA_KOPIA.

  5. Program utworzy pełną kopię bazy na serwerze SQL (łącznie ze strukturą, użytkownikami i danymi).

  6. Po zakończeniu możesz się do niej zalogować z listy baz przy starcie Optimy.

Ta metoda jest najbezpieczniejsza – Optima sama wykona backup i restore bazy.

Z poziomu MS SQL Server Management Studio (SSMS)

  1. Otwórz SQL Server Management Studio i zaloguj się do instancji, gdzie jest baza MOJA.

  2. Kliknij prawym przyciskiem na bazę MOJA → Tasks → Back Up...

    • Type: Full

    • Wskaż lokalizację pliku .bak i wykonaj backup.

  3. Następnie:

    • Kliknij prawym przyciskiem Databases → Restore Database...

    • Wskaż źródło (Device) → plik .bak

    • Nazwij nową bazę np. MOJA_KOPIA

    • Kliknij OK.

USUNIĘCIE TABEL cdn.Pracownik I cdn.PracAdres

Z poziomu Comarch Optima

Nie da się ❌ usunąć tabel (ani struktur bazy) z poziomu interfejsu programu.
Optima nie udostępnia żadnej funkcji modyfikacji struktury bazy danych.
Można jedynie:

  • Usuwać dane przez moduły (np. pracowników, listy płac),

  • Ale nie strukturę bazy – tabele i relacje są chronione.

👉 Czyli z poziomu Optimy — nie da się tego zrobić.

Z poziomu MS SQL Server (SSMS)

Jeśli chcesz to zrobić ręcznie (np. do testów, analizy lub czyszczenia kopii):

  1. Upewnij się, że nikt nie jest zalogowany do bazy MOJA_KOPIA.

  2. Otwórz Nowe zapytanie w SSMS i wybierz bazę MOJA_KOPIA.

  3. Wykonaj poniższe polecenia SQL:

USE MOJA_KOPIA;
GO

-- Sprawdź, czy tabele istnieją
SELECT * FROM sys.tables WHERE name IN ('Pracownik', 'PracAdres') AND SCHEMA_NAME(schema_id) = 'cdn';
GO

-- Jeśli istnieją, usuń je
DROP TABLE cdn.PracAdres;
DROP TABLE cdn.Pracownik;
GO

UWAGA: Te tabele mają wiele powiązań (klucze obce, np. z cdn.PracHistoria, cdn.PracEtat, cdn.PracWyplaty).
Więc jeśli są zależności, SQL zwróci błąd.
Wtedy musisz najpierw wyłączyć klucze obce lub usunąć zależne tabele.

Przykład (tylko do testów, NIE w bazie produkcyjnej):

ALTER TABLE cdn.PracHistoria DROP CONSTRAINT FK_PracHistoria_Pracownik;
ALTER TABLE cdn.PracEtat DROP CONSTRAINT FK_PracEtat_Pracownik;
GO
DROP TABLE cdn.PracAdres;
DROP TABLE cdn.Pracownik;

UWAGA! 

  • Nigdy nie usuwaj tabel w produkcyjnej bazie Comarch Optima.

  • System nie uruchomi się poprawnie po usunięciu kluczowych tabel (cdn.Pracownik jest centralną tabelą HR).

  • To możesz robić tylko na kopii testowej, np. dla celów integracji, raportowania, lub anonimizacji danych.

Podsumowanie

Czynność Gdzie wykonać Możliwe? Komenda / Ścieżka
Zrobienie kopii bazy MOJA Optima ✅ Tak Konfiguracja → Bazy danych → Kopiuj
Zrobienie kopii bazy MOJA SQL Server ✅ Tak BACKUP DATABASE, RESTORE DATABASE
Usunięcie tabel Optima ❌ Nie brak
Usunięcie tabel SQL Server ✅ Tak, ale tylko testowo DROP TABLE cdn.Pracownik, DROP TABLE cdn.PracAdres