Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] backup bazy SQL w Płatniku

To: winnt@man.lodz.pl
Subject: Re: [WINNT] backup bazy SQL w Płatniku
From: Adam <a.g@poczta.onet.pl>
Date: Mon, 3 Jul 2017 12:42:58 +0200
W dniu 2017-07-02 o 17:50, Doxent pisze:
Klient-biuro rachunkowe tak niefortunnie kiedyś założył sobie kiedyś
Płatnika, że teraz musi to chodzić na MS SQL-u bodaj 2008 zamiast sporo
łatwiejszym w obsłudze MS Access gdzie do dyspozycji bazy mamy tylko
jeden plik łatwo dostępny. Czy jest jakaś prosta metoda backupu całej
bazy sql? Najlepiej tak aby wykonywała się co jakiś czas automatycznie?
Ewentualnie czy jest jakaś prosta metoda przeniesienia całości około 50
podmiotów do bazy w MS Access tak by się z SQL-em nie pierniczyć?

O Accesie zapomnij - zwłaszcza przy biurze rachunkowycm.

Przykład pierwszy z brzegu: co byś zrobił, gdyby klient biura rachunkowego zażądał swojej bazy?

SQL jest w zasadzie odporny na uszkodzenia i łatwy do zarządzania.
Tylko pytanie:
to jest "pełny" MS SQL, czy SQL Express?

W pełnym są narzędzia.
W Express można użyć Management Studio lub oprogramowania podobnego firm trzecich.

Można też ewentualnie napisać skrypt i zapuścić go przez osql.exe czy jakiś inny sqlcmd.exe, a całość popychać automatycznie choćby przez Harmonogram Zadań.

Przykład prostego skryptu:



PRINT CHAR(13)
PRINT '/----------------------------------------\'
PRINT '|   Wykonywanie kopii bezpieczeństwa     |'
PRINT '\----------------------------------------/' + CHAR(13)

-- Deklaracja zmiennych dla kopii bezpieczeństwa
DECLARE @Sciezka    VARCHAR(260)
DECLARE @PlikArchiw VARCHAR(300)

-- Ścieżka dostępu do miejsca, w którym kopie bezpieczeństwa będą zapisywane
SET @Sciezka = N'N:\BACKUP\' -- Tu wpisz ścieżkę dostępu do katalogu dla kopii baz

-- Wykonanie skryptu
--
        SET @PlikArchiw = @Sciezka + @Nazwa_bazy + '_' +
REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16), GETDATE(), 120), ' ', ''), '-', ''), ':', '') + '.BAC' BACKUP DATABASE @Nazwa_bazy TO DISK = @PlikArchiw WITH INIT, NAME = 'BIURO BAZA DANYCH', SKIP, NOFORMAT, DESCRIPTION = ''
        IF @@error>0
          BEGIN
            PRINT ''
PRINT 'Kopia bezpieczeństwa bazy ' + @Nazwa_Bazy + ' nie wykonana, wystąpiły problemy ! ' + CONVERT (varchar(20) , GETDATE(), 120 )
            PRINT ''
          END
        ELSE
          BEGIN
            RESTORE VERIFYONLY FROM DISK = @PlikArchiw WITH FILE = 1
            IF @@error>0
              BEGIN
                PRINT ''
PRINT 'Kopia bezpieczeństwa bazy ' + @Nazwa_Bazy + ' nie wykonana, wystąpiły problemy ! ' + CONVERT (varchar(20) , GETDATE(), 120 )
                PRINT ''
              END
            ELSE
              BEGIN
                PRINT ''
PRINT 'Kopia bezpieczeństwa bazy ' + @Nazwa_bazy + ' (' + @PlikArchiw + ')' + ' wykonana prawidłowo ! ' + CONVERT (varchar(20) , GETDATE(), 120 )
                PRINT ''
              END
          END
END




--
Pozdrawiam.

Adam

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>