Advertisement
piotrek77

OPTIMA backup

Nov 17th, 2015
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.52 KB | None | 0 0
  1. -------------------------------------------------------
  2. -- Archiwizacja baz utworzonych w przez program OPT!MA
  3. -------------------------------------------------------
  4.  
  5. -- Deklarowanie zmiennych używanych w skrypcie
  6. DECLARE @Sciezka    VARCHAR(260)
  7. DECLARE @Nazwa_bazy VARCHAR(40)
  8. DECLARE @PlikArchiw VARCHAR(300)
  9. DECLARE @Zarchiw      INT
  10. DECLARE @Bledow       INT
  11.  
  12.  
  13. -- Ustawienie ścieżki dostępu do katalogu z backupem
  14. SET @Sciezka = N'C:\WUTemp\' --tu wpisz scieżkę dostępu do katalogu backupu
  15.  
  16.  
  17. SET @Zarchiw      = 0
  18. SET @Bledow       = 0
  19.  
  20. -- Wykonanie backupu konfiguracji
  21.        SET @Nazwa_bazy = 'CDN_KONFIGURACJA'
  22.        SET @PlikArchiw = @Sciezka + @Nazwa_bazy +
  23. --         REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16), GETDATE(), 120), ' ', ''), '-', ''), ':', '') +
  24.         '.BAC'
  25.        BACKUP DATABASE @Nazwa_bazy TO DISK = @PlikArchiw WITH INIT, NAME = 'OPT!MA KONFIGURACJA', SKIP, STATS = 5, NOFORMAT, DESCRIPTION = ''
  26.        IF @@error>0
  27.          BEGIN
  28.            SET @Bledow = @Bledow + 1
  29.            PRINT ''
  30.            PRINT 'Archiwizacja bazy ' + @Nazwa_Bazy + ' zakończyła się niepowodzeniem !'
  31.            PRINT ''
  32.          END
  33.        ELSE
  34.          BEGIN
  35.            RESTORE VERIFYONLY FROM DISK = @PlikArchiw WITH FILE = 1
  36.            IF @@error>0
  37.              BEGIN
  38.                SET @Bledow = @Bledow + 1
  39.                PRINT ''
  40.                PRINT 'Archiwizacja bazy ' + @Nazwa_Bazy + ' zakończyła się niepowodzeniem !'
  41.                PRINT ''
  42.              END
  43.            ELSE
  44.              BEGIN
  45.                SET @Zarchiw = @Zarchiw + 1
  46.                PRINT ''
  47.                PRINT 'Zarchwizowano bazę ' + @Nazwa_bazy + ' (' + @PlikArchiw + ')'
  48.                PRINT ''
  49.              END
  50.          END
  51.  
  52.  
  53.  
  54.  
  55.  
  56. -----------------------------------------
  57. -- Pętla archiwizująca bazy operacyjne
  58. -----------------------------------------
  59.  
  60. USE CDN_Konfiguracja
  61.  
  62. DECLARE Kursor_Bazy CURSOR FORWARD_ONLY FOR
  63.  SELECT SUBSTRING(Baz_Dostep, 5, CHARINDEX(N',', Baz_Dostep) - 5)
  64.  FROM CDN.Bazy
  65.  WHERE Baz_Dostep like N'%'+@@SERVERNAME+N'%'
  66.  
  67. OPEN Kursor_bazy
  68.  
  69. WHILE 1 = 1
  70.  BEGIN
  71.    FETCH NEXT FROM Kursor_bazy INTO  @Nazwa_bazy
  72.    IF @@FETCH_STATUS <> 0 BREAK
  73.    SET @PlikArchiw = @Sciezka + @Nazwa_bazy + '.bac'
  74. --        REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16), GETDATE(), 120), N' ', N''), N'-', N''), N':', N'') +
  75. --        N'.BAC'
  76.  
  77.    BACKUP DATABASE @Nazwa_bazy TO DISK = @PlikArchiw WITH INIT, NAME = 'OPT!MA BAZA DANYCH', SKIP, STATS = 5, NOFORMAT, DESCRIPTION = ''
  78.    IF @@error>0
  79.      BEGIN
  80.        SET @Bledow = @Bledow + 1
  81.        PRINT ''
  82.        PRINT 'Archiwizacja bazy ' + @Nazwa_bazy + ' zakończyła się niepowodzeniem !'
  83.        PRINT ''
  84.      END
  85.    ELSE
  86.      BEGIN
  87.        RESTORE VERIFYONLY FROM DISK = @PlikArchiw WITH FILE = 1
  88.        IF @@error>0
  89.          BEGIN
  90.            SET @Bledow = @Bledow + 1
  91.            PRINT ''
  92.            PRINT 'Archiwizacja bazy ' + @Nazwa_bazy + ' zakończyła się niepowodzeniem !'
  93.            PRINT ''
  94.          END
  95.        ELSE
  96.          BEGIN
  97.            SET @Zarchiw = @Zarchiw + 1
  98.            PRINT ''
  99.            PRINT 'Zarchwizowano bazę ' + @Nazwa_bazy + ' (' + @PlikArchiw + ')'
  100.            PRINT ''
  101.          END
  102.      END
  103.  
  104.  END   -- Koniec pętli WHILE
  105.  
  106. CLOSE      Kursor_bazy
  107. DEALLOCATE Kursor_bazy
  108.  
  109. PRINT 'Archiwizacja zakończona.'
  110. PRINT 'Zarchiwizowano ' + LTRIM(STR(@Zarchiw)) + ' baz danych.'
  111. PRINT 'Wystąpiło ' + LTRIM(STR(@Bledow)) + ' błędów.'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement