Grzegorz Gielas

Grzegorz Gielas Elektromonter

Temat: Enova + MSSQL

Witam Wszystkich
Mam 2 pytania za 100 pkt. Mam zamiar przenieść enove na komputer serwer i rozumiem, że żeby przenieść wszystkich kontrahentów na raz muszę np. exportować bazę danych i importować na nowym sprzęcie? Drugie pytanie: Czy ma to jakieś znaczenie czy bazę danych uaktualnie przed instalacją enova czy wtedy gdy enova już jest zainstalowana?
Dzięki wielkie za pomoc.
Tomasz Mierzejewski

Tomasz Mierzejewski wdrożeniowiec,
programista,
administrator

Temat: Enova + MSSQL

Chce Pan przenieść tylko kartotekę kontrahentów?
Jeśli chce Pan przenieść całą bazę to polecam użyć bazy MSSQL. Przeniesienie można wykonać jedną z dwóch metod, zależnie od źródłowego silnika bazy:
1. Jeśli baza jest aktualnie na MSSQL, wykonać backup bazy za pomocą np. MSSQL Management Studio i przywrócić ją w nowym środowisku. Ważne, aby baza docelowa była minimum w tej samej wersji co baza źródłowa.
2. Jeśli baza jest aktualnie na MySQLu, wykonać Czynności->Zapis bazy danych w plikach txt, a następnie po utworzeniu nowej bazy na serwerze MSSQL Czynności->Odtworzenie bazy z plików txt. W tym przypadku zalecam, aby aktualizację enovy wykonać przed eksportem plików.
Grzegorz Gielas

Grzegorz Gielas Elektromonter

Temat: Enova + MSSQL

Z tego co widziałem każdy kontrahent to odrębna baza danych. Czy istnieje (na pewno tak) jakiś sposób żeby zrobić backup wszystkich za jednym zamachem. Bo można to zrobić klikając na każdą bazę i robić backup. Jednak przy 1000 takich baz - kontrahentów nie wyobrażam sobie robić SbS (step by step) ze wszystkimi. Dzięki
Tomasz Mierzejewski

Tomasz Mierzejewski wdrożeniowiec,
programista,
administrator

Temat: Enova + MSSQL

Operujemy innymi pojęciami dla tego doszło do nieporozumienia.
Jeśli jako kontrahenta potraktujemy klienta biura rachunkowego, to faktycznie, każdy z nich ma swoją własną bazę. Backup możemy zautomatyzować. I znowu mamy dwa sposoby. Pierwszy jest możliwy, jeśli mssql jest w wersji wyższej niż express. Możemy w tym wypadku zdefiniować zadanie serwisowe polegające na zrobieniu kopii wszystkich baz.
Drugi sposób to napisanie prostego skryptu, który przeszuka serwer mssql w poszukiwaniu baz, a następnie wykona ich kopię bezpieczeństwa. Więcwj zabawy jest z odtwarzaniem za pomocą skryptu.
Wojciech Mania

Wojciech Mania
Informatyk/wdrożenio
wiec

Temat: Enova + MSSQL

Jeśli bazy są na wersji MSSQL Express to ja korzystam z tego rozwiązania:

http://www.itzoz.com/2013/01/automate-sql-express-back...
Gotowe skrypty i harmonogramy do pobrania i skonfigurowania pod własne potrzeby.

Jeśli pełna wersja MSSQL to korzystam z "Maintenance Plans" oraz standardowego Agenta SQL Server.
Grzegorz Gielas

Grzegorz Gielas Elektromonter

Temat: Enova + MSSQL

Najwyżej zrobię pojedynczo backupy i restore (nie ma tego tak dużo 55 baz). Czy macie panowie jakieś przydatne linki co do tematu automatyzacji procesu restore z kilku plików ? W przyszłości byłoby to bardzo pomocne. Dzięki

Powyższa odpowiedź nie do tego tematu sorki :)Ten post został edytowany przez Autora dnia 26.10.16 o godzinie 10:08
Tomasz Mierzejewski

Tomasz Mierzejewski wdrożeniowiec,
programista,
administrator

Temat: Enova + MSSQL

Poniżej skrypt backupujący
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name


-- specify database backup directory
SET @path = 'C:\Backup\'


-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)


DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb') -- exclude these databases


OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name


WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName


FETCH NEXT FROM db_cursor INTO @name
END


CLOSE db_cursor
DEALLOCATE db_cursor

i jeszcze link do dokładnego opisu odzyskiwania kopii za pomocą skryptu:
https://www.mssqltips.com/sqlservertip/1584/auto-genera...
Grzegorz Gielas

Grzegorz Gielas Elektromonter

Temat: Enova + MSSQL

Tomasz M.:
Poniżej skrypt backupujący
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name


-- specify database backup directory
SET @path = 'C:\Backup\'


-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)


DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb') -- exclude these databases


OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name


WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName


FETCH NEXT FROM db_cursor INTO @name
END


CLOSE db_cursor
DEALLOCATE db_cursor

i jeszcze link do dokładnego opisu odzyskiwania kopii za pomocą skryptu:
https://www.mssqltips.com/sqlservertip/1584/auto-genera...


Dzięki wielkie
Grzegorz Gielas

Grzegorz Gielas Elektromonter

Temat: Enova + MSSQL

Pytanie co do zmiennej @path. Gdybym chciał żeby backupy robiły się w dwóch miejscach na raz to jak zmienna powinna wyglądać?
SET @path = 'C:\Back\' & 'F:\Back\'

Dzięki za odpowiedź
Tomasz Mierzejewski

Tomasz Mierzejewski wdrożeniowiec,
programista,
administrator

Temat: Enova + MSSQL

@path zostanie użyta do tworzenia pełnej ścieżki wraz z nazwą pliku. Inaczej mówiąc nie da się w ten sposób. Zresztą nie warto. Lepszą metodą jest skopiowanie pliku z kopią w inną lokalizację.

Tych skryptów używam głównie do kopii bezpieczeństwa robionych przez programy zewnętrzne. Wykonuję kopię przez skrypt, a gdy skończy się wykonywać odpalam proces przenoszenia kopii na macierz lub w chmurę.

Jeśli masz tylko przekopiować pliki na inny dysk, to wystarczy ci .bat i polecenie xcopy

Następna dyskusja:

enova v 6.0 novości




Wyślij zaproszenie do