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 :

Besoin d'explication sur la sauvegarde complète SQL 2K5


Sujet :

Administration SQL Server

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 3
    Points
    3
    Par défaut Besoin d'explication sur la sauvegarde complète SQL 2K5
    Bonjour à tous!
    Je suis nouveau sur le forum et je débute en SQL 2K5.
    Je suis Admin Système et pour mes besoins pro il me faut quelques connaissances en SQL Server 2005.

    Voici ma question:
    J'ai besoin de savoir si en faisant une sauvegarde complète de mes bases SQL, est-ce que mes journaux de transaction sont aussi sauvegarder?
    Sinon est-ce que je dois également créer un script (Transact-SQL) pour sauvegarder à part les journaux de transactions.

    J'ai 5 BDD à sauvegarder et je suis un peu limiter dans le temps, je dois exposer une solution très rapidement.

    Peut être que ma question a déjà été posée, si c'est le cas n'hésiter surtout pas à me le dire et à me diriger au bon endroit!

    Merci de votre aide et de vos réponses.

    Cordialement.

    Tiger31.

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Voici quelques liens pour débuter :
    - Par SQLPro
    - mode de récupération
    - Sauvegarde et restauration de bases de données dans SQL Server

    'ai besoin de savoir si en faisant une sauvegarde complète de mes bases SQL, est-ce que mes journaux de transaction sont aussi sauvegarder?
    Oui car sans lui il est impossible de restaurer une base de données (sauf en le reconstruisant à partir d'une capture instantanée)

    Dites-nous sous quel mode de récupération vous êtes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT name, recovery_model_desc
    FROM sys.databases
    WHERE name = 'maBaseDeDonnees'
    Et de quelle façon sont stockées les données dans votre base de données (mises à jour très fréquentes ou pas, ...)

    Quelle quantité de données pouvez-vous vous "permettre" de perdre ?
    Par exemple :
    - 5 minutes
    - 1h
    - 1j

    Nous pourrons vous aider un peu plus dans le choix de votre plan de sauvegarde

    @++

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour et merci de votre réponse.
    Je vais détailler un peu plus ce que je souhaite faire.
    J'ai 5 bases de données sur SQL 2K5.
    Chacune des bases fait environ 100-200Mo.
    Je souhaite faire une sauvegarde complète des bases tous les soirs, pour cela j'utilise la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    BACKUP DATABASE [Mabase] TO  DISK = N'E:\SQL_SERVER_2005\MSSQL.1\MSSQL\Backup\Mabase.bak' WITH  DESCRIPTION = N'Sauvegarde compl_te Mabase',  RETAINDAYS = 1, NOFORMAT, INIT,  NAME = N'Mabase.bak', SKIP, NOREWIND, NOUNLOAD,  STATS = 10, CHECKSUM
    GO
    declare @backupSetId as int
    select @backupSetId = position from msdb..backupset where database_name=N'Mabase' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'Mabase' )
    if @backupSetId is null begin raiserror(N'Échec de la vérification. Les informations de sauvegarde pour la base de données «*Mabase*» sont introuvables.', 16, 1) end
    RESTORE VERIFYONLY FROM  DISK = N'E:\SQL_SERVER_2005\MSSQL.1\MSSQL\Backup\Mabase.bak' WITH  FILE = @backupSetId,  NOUNLOAD,  NOREWIND
    GO
    Et j'envisageait également un autre script pour la sauvegarde des journaux de transaction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    BACKUP LOG [Mabase] TO  DISK = N'E:\SQL_SERVER_2005\MSSQL.1\MSSQL\Backup\Journal_Mabase.bak' WITH  DESCRIPTION = N'Sauvegarde du journal de transaction',  RETAINDAYS = 1, NOFORMAT, INIT,  NAME = N'Journal_Mabase.bak', SKIP, NOREWIND, NOUNLOAD,  STATS = 10, CHECKSUM
    GO
    declare @backupSetId as int
    select @backupSetId = position from msdb..backupset where database_name=N'Mabase' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'Mabase' )
    if @backupSetId is null begin raiserror(N'Échec de la vérification. Les informations de sauvegarde pour la base de données «*Mabase*» sont introuvables.', 16, 1) end
    RESTORE VERIFYONLY FROM  DISK = N'E:\SQL_SERVER_2005\MSSQL.1\MSSQL\Backup\Journal_Mabase.bak' WITH  FILE = @backupSetId,  NOUNLOAD,  NOREWIND
    GO
    D'après ce que vous me dîtes, il ne serait pas nécessaire de créer un script pour la sauvegarde des journaux de transactions puisqu'ils sont enregistrés dans la sauvegarde complète de la base, c'est bien sa?

    Au niveau de la rétention des données, j'ai une sauvegarde complète de mon serveur tous les soirs.
    Si je devais perdre des données, je souhaiterais que ce soit avec le délai le plus court possible, ou peut on introduire ce paramètre et donc le modifier par la suite?

    Merci de votre réponse.

    Tiger31

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    D'après ce que vous me dîtes, il ne serait pas nécessaire de créer un script pour la sauvegarde des journaux de transactions puisqu'ils sont enregistrés dans la sauvegarde complète de la base, c'est bien sa?
    C'est effectivement absolument nécessaire.
    D'ailleurs si vous voulez le vérifier, vous pouvez exécuter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RESTORE FILELISTONLY
    FROM DISK = 'E:\SQL_SERVER_2005\MSSQL.1\MSSQL\Backup\Mabase.bak'
    Vous obtiendrez au moins deux lignes :
    - la première sera celle de votre fichier de données
    - le seconde celle de votre fichier du journal des transactions.

    Si je devais perdre des données, je souhaiterais que ce soit avec le délai le plus court possible
    Vous vous rendez compte que cela entre en contradiction avec :

    Je souhaite faire une sauvegarde complète des bases tous les soirs
    Si le serveur connaît un crash, alors vous perdrez toutes les modifications que vous avez effectuées depuis la dernière sauvegarde complète.

    Supposons que vous administrez la base de données d'une banque.
    Vous ne pouvez donc vous permettre de perdre aucune donnée.
    C'est à dire qu'en cas de crash ou d'une erreur de manipulation (UPDATE ou DELETE sans clause WHERE par exemple ), il faut qu'aucune des transactions que ont été opérées par les clients de votre banque ne soit perdue.
    Dans ce cas nous pourrions mettre en place le plan de sauvegarde suivant :
    - une sauvegarde complète aux heures de faible "trafic",
    - une sauvegarde différentielle toute les heures,
    - une sauvegarde du journal des transactions toutes les 5 minutes.

    Supposons maintenant que vous avez une base de données qui est accédée en lecture seulement (SELECT), mais qu'une fois par jour, vous la peuplez avec des données que vous intégrez à partir de fichiers plats.
    Dans ce cas vous n'avez besoin de sauvegarder votre base de données complètement qu'une seule fois par jour, après l'intégration des données.

    Quel est exactement votre besoin ?
    Essayez de répondre aux questions que je vous ai données dans ma première réponse

    @++
    Donc vous devez mettre en place

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Je ne comprends pas :
    D'après ce que vous me dîtes, il ne serait pas nécessaire de créer un script pour la sauvegarde des journaux de transactions puisqu'ils sont enregistrés dans la sauvegarde complète de la base, c'est bien sa?
    et
    C'est effectivement absolument nécessaire.
    Au final, je dois faire un script pour la sauvegarde du journal en plus de la sauvegarde complète ou pas?

    Pour répondre à votre question:
    Je vais rester sur une sauvegarde journalière pour le moment. Une fois que les besoins réels seront définitivement connus, je ferai le nécessaire.

    Les données sont saisies dans mes bases juste 15 jours mois.

    Si au final vous me confirmez bien que dans une sauvegarde complète j'ai le journal de transaction de ma base qui est sauvegardée sa devrait le faire.
    Mon script crée un fichier .bak par base, c'est bon?

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Je ne comprends pas :

    D'après ce que vous me dîtes, il ne serait pas nécessaire de créer un script pour la sauvegarde des journaux de transactions puisqu'ils sont enregistrés dans la sauvegarde complète de la base, c'est bien sa?
    et
    C'est effectivement absolument nécessaire.
    Au final, je dois faire un script pour la sauvegarde du journal en plus de la sauvegarde complète ou pas?
    Je me suis mal exprimé : la sauvegarde du fichier du journal des transactions se fait forcément lors de toute sauvegarde de bases de données.

    Les données sont saisies dans mes bases juste 15 jours mois.
    Vous voulez dire tous les 15 jours ? et ensuite elle est accédée en lecture seulement ? si tel est le cas, une sauvegarde complète comme celle à laquelle vous procédez actuellement suffit amplement.

    Si au final vous me confirmez bien que dans une sauvegarde complète j'ai le journal de transaction de ma base qui est sauvegardée sa devrait le faire.
    Je vous le confirme

    @++

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Ok donc je part sur une sauvegarde complète journalière.

    En fait les données sont saisies dans ma base la dernière semaine du mois et consulter uniquement pendant la première semaine du mois.
    Je n'ai pas besoin d'un système trop compliquée, si je perd des données je pourrait relancer le process qui renseigne mes tables.

    Je vous remercie grandement d'avoir pris le temps de me répondre!

    Tant que j'y suis, y a-t-il un moyen de surveiller les instances de chacune de bases avec un outil du style de CONTROL-M?
    Pour le moment je n'ai rien trouver donc je garde une surveillance uniquement sur les services SQL.

    Cordialement.

    Tiger31.

  8. #8
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Tant que j'y suis, y a-t-il un moyen de surveiller les instances de chacune de bases avec un outil du style de CONTROL-M?
    De ce que j'ai pu rapidement lire, CONTROL-M permet de planifier l'exécution de code, ce que vous pouvez faire avec l'Agent SQL Server (dernière node de l'explorateur d'objets (F8) à l'ouverture de SSMS) en créant des jobs / travaux.

    Ensuite tout dépend des besoins d'administration dont vous avez besoin.
    Je suppose qu'après intégration des données, vous aurez par exemple à reconstruire les index

    @++

Discussions similaires

  1. Besoin d'explications sur les charset
    Par EGPMS dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 03/02/2006, 15h38
  2. [xml] Xpath besoin d'explication sur preceding-sibling::
    Par ekmule dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 10/01/2006, 09h32
  3. besoin d'explication sur le c++
    Par poporiding dans le forum MFC
    Réponses: 13
    Dernier message: 17/12/2005, 18h01
  4. Besoin d'explications sur un bout de code
    Par zizitop dans le forum C
    Réponses: 7
    Dernier message: 26/04/2005, 14h51
  5. Besoin d'explications sur float et l'élasticité !
    Par KneXtasY dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/01/2005, 15h15

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