IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Sauvegardes régulières efficaces


Sujet :

Administration SQL Server

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut Sauvegardes régulières efficaces
    Bonjour,

    Je fait de l'administration SQL depuis quelques temps.
    Et depuis tout ce temps, malgré les formations et les recherches, je ne suis pas satisfait de mes sauvegardes !
    J'ai des petites bases. Entre 10 Mo et 5 Go.
    J'ai des serveurs en SQL 2008
    Certaines sont en mode de récupération simple : pas de problème : Je fais un backup database with init tous les soirs. Et je sais que je ne peux revenir qu'à la date de la sauvegarde. Et je sais que le fichier log est purger à l'occasion de la sauvegarde.
    La plupart des bases sont en mode de récupération Complet : là est mon soucis.
    Je fais une sauvegarde complète à 22:00 Les données d'abord avec backup database with init. Puis les log dans le même device avec backup log.
    Ensuite toute les heures je fais une sauvegarde des log toujours dans le même device avec backp log.
    Et à 21:30 chaque jour, je copie mon fichier device sur le réseau pour une sauvegarde "bande".
    J'avais l'impression d'être propre avec cela.
    Puis en regardant la taille de mes sauvegardes, je me dis que je dois pouvoir améliorer. En effet le premier backup log effectué juste après la sauvegarde data me parait très gros. Pourtant je croyais que le backup log purgeait le fichier des transactions ...
    Bref je suis perdu. Il me manque quelquechose.
    Est-il conseillé de valider toutes les transaction avec de faire la sauvegarde complète des data ? Comment ?
    Pourquoi la première sauvegarde des log est-elle grosse ? En posant la question, je me demande si je n'ai pas trouvé la réponse ... Je fais en début de job de sauvegarde, un check (EXECUTE sp_MSForEachTable
    @command1 ='DBCC CheckDB With NO_INFOMSGS') puis un rebuild index (voir script plus loin).
    Comment m'organiser pour minimiser l'espace disque occupée par les sauvegardes, tout en étant heureux de pouvoir restaurer à toute heure ?

    Merci de votre aide.

    Ludovic.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    DECLARE @Database VARCHAR(255)   
    DECLARE @Table VARCHAR(255)  
    DECLARE @cmd NVARCHAR(500)  
    DECLARE @fillfactor INT 
     
    SET @fillfactor = 90 
     
    DECLARE DatabaseCursor CURSOR FOR  
    SELECT name FROM master.dbo.sysdatabases   
    WHERE name NOT IN ('master','model','msdb','tempdb','distrbution')   
    ORDER BY 1  
     
    OPEN DatabaseCursor  
     
    FETCH NEXT FROM DatabaseCursor INTO @Database  
    WHILE @@FETCH_STATUS = 0  
    BEGIN  
     
       SET @cmd = 'DECLARE TableCursor CURSOR FOR SELECT table_catalog + ''.'' + table_schema + ''.'' + table_name as tableName   
                        FROM ' + @Database + '.INFORMATION_SCHEMA.TABLES WHERE table_type = ''BASE TABLE'''   
     
       -- create table cursor  
       EXEC (@cmd)  
       OPEN TableCursor   
     
       FETCH NEXT FROM TableCursor INTO @Table   
       WHILE @@FETCH_STATUS = 0   
       BEGIN   
     
           -- SQL 2000 command  
           --DBCC DBREINDEX(@Table,' ',@fillfactor)   
     
           -- SQL 2005 command  
           SET @cmd = 'ALTER INDEX ALL ON ' + @Table + ' REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3),@fillfactor) + ')'  
           EXEC (@cmd)  
     
           FETCH NEXT FROM TableCursor INTO @Table   
       END   
     
       CLOSE TableCursor   
       DEALLOCATE TableCursor  
     
       FETCH NEXT FROM DatabaseCursor INTO @Database  
    END  
    CLOSE DatabaseCursor   
    DEALLOCATE DatabaseCursor
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/05/2019, 21h30
  2. sauvegarde réguliére d'un /var/3w et de sa base SQL
    Par marveljojo75 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 11/11/2008, 07h09
  3. Sauvegarde Réguliére StringList
    Par Baxter67 dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/03/2008, 08h06
  4. Serveur mysql local, sauvegarde régulière sur serveur
    Par dynexd dans le forum Administration
    Réponses: 3
    Dernier message: 05/09/2007, 11h27
  5. Effectuer automatiquement des sauvegardes régulières du serv
    Par Edoxituz dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 23/01/2006, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo