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 :

Réduire l'historique des sauvegardes d'une base en particulier


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut Réduire l'historique des sauvegardes d'une base en particulier
    Bonjour,

    Sur un serveur, j'ai plusieurs bases de données avec des politiques de retention des sauvegardes différentes.

    Je ne trouve pas comment supprimer les anciennes valeurs d'historique de backup à partir d'une date pour une base donnée.

    En effet :

    sp_delete_database_backuphistory => Supprime TOUT l'historique pour une base donnée

    sp_delete_backuphistory => Supprimer l'historique jusqu'à une date donnée pour TOUTES les bases

    Y'a pas une procédure qui combine les deux ?

    PS : Hors de question d'aller patouiller à la main dans les tables de MSDB.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Est-ce que ça pose un réel problème de mettre la limite à la date la plus ancienne ?

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    En soit, non, c'est juste pas propre

    Sinon, question subsidiaire : est-ce normal qu'une purge (bon, ok, pas mal de lignes... 2 ans d'historique de 30 bases à raison d'un backup toutes les 10 minutes) fasse complètement partir en vrille un serveur ?

    Car là, depuis hier je tente de purger un de nos serveurs, et j'ai des trucs juste pas normaux...

    On a des instances SQL Server 2014 et d'autres 2008 R2.

    Tout est en version Express.

    Sur les 2014, il y a moins de bases (donc forcément historique bien moins gros).
    J'ai supprimé environ 1 année en 5 à 10 minutes sur chacun.

    Pour les 2008 R2, plusieurs choses incompréhensibles...
    1/ Si je supprime les données jusqu'au 01/01/2000, ça tourne pendant 2 heures (mais ça fini par aboutir).
    => Comment est-ce possible ? Il n'y a pas de backup antérieur à 2000, puisque les serveurs ont été installées (et les bases créées) courant 2014 ?
    2/ Si je supprime ensuite les données jusqu'au 01/01/2014, c'est instantané (ou presque). Normal, y'a pas de backups non plus sur cette période.
    3/ Si j'incrémente de 1 mois en 1 mois (donc pas des masses de données) au bout de quelques mois (dont la suppression dure quelques minutes), ça part en vrille total (2 heures sans réponse)

    Bug ? Truc pas clair qui m'échappe ?

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Je pige plus rien...

    Voici ma commande :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    declare @dte datetime;
    set @dte = CAST('2014-01-01T00:00:00.000' as datetime);
    exec sp_delete_backuphistory @dte;

    Je lance, c'est immédiat.
    J'incrémente la date de 1 jour par 1 jour.
    2, 3, 4, 5, ... 14 => tout va bien.
    15 : planté.
    Je stoppe la commande.
    Je fais COMMIT (car la procédure visiblement tourne dans une transaction et la laisse en vrac quand elle est arrêtée au milieu).
    Je relance le 15 : instantané.
    16, 17... rebelotte !

    Et ainsi de suite. Je ne comprends pas.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Est-ce que les stats sont à jour sur msdb ?
    Sinon, il y a certaines personnes qui ajoutent des indexes dans cette bd système.
    Va voir ici : http://sqlperformance.com/2015/07/sql-maintenance/msdb
    La source initiale semble être ici : weblogs.sqlteam.com/geoffh/archive/2008/01/21/MSDB-Performance-Tuning.aspx mais je n'arrive pas à charger la page.

  6. #6
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Je suis en train de faire un rebuild des index sur les deux serveurs...

    Vu le temps que ça prend, effectivement, ça doit être un joyeux bordel...

    -- Bon, ben après quelques minutes de rebuild... retour à la case départ : c'est toujours aussi lent

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    Pourquoi ne pas utiliser pour vos sauvegardes un unique fichier avec les options RETAINS_DAYS et EXPIRY DATE ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Sauvegarde d'une base en mode ligne contenant des '-'
    Par Labienus dans le forum Administration
    Réponses: 4
    Dernier message: 22/10/2010, 10h58
  2. Réponses: 1
    Dernier message: 09/12/2008, 17h44
  3. Historique et détails des connexions sur une base
    Par farenheiit dans le forum Administration
    Réponses: 6
    Dernier message: 01/09/2008, 16h53
  4. Historique des requêtes sur une base
    Par Dschub dans le forum Firebird
    Réponses: 1
    Dernier message: 16/04/2008, 15h10
  5. Réponses: 4
    Dernier message: 14/01/2008, 08h42

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