W dniu 2017-07-02 o 17:50, Doxent pisze:
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