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 :

Suppression massive de données


Sujet :

Administration SQL Server

  1. #1
    Membre expérimenté

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 815
    Points : 1 350
    Points
    1 350
    Billets dans le blog
    2
    Par défaut Suppression massive de données
    Bonjour

    j'utilise un script de vidage qui me permet de supprimer les anciennes insertions dans laquelle leur date d'insertion a dépasser plus du 4 mois

    après avoir faire cette delete je fait une opération de réorganisation d'index pour défragmentation mes index après je fait un un DBCC SHrinkfile avec l'option truncateonly

    le problème que j'ai pas eu un gain d'espace du partition au contraire j'ai perdu plus d'espace même avec un shrinkdatbase j'aurai toujours la même résultat

    pourquoi j'ai eu cette dégradation et comment je peux gagner d'espace après une long opération du delete

    merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    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 : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Tout dépend de quel fichiers vous parlez...

    Lors des suppressions il y a journalisation => croissance du journal de transaction

    L'espace résiduel de lignes supprimées peut être récupéré à condition que la table ait un index CLUSTERED... est-ce le cas ? Sinon la defrag ne fera rien !

    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/ * * * * *

  3. #3
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    De même un defrag ne récupère pas tout, voyez un REBUILD, mais comme le dit Fred, si table HEAP( sans CLUSTER) impossible de récupérer l'espace au niveau de la table.
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Citation Envoyé par iberserk Voir le message
    De même un defrag ne récupère pas tout, voyez un REBUILD, mais comme le dit Fred, si table HEAP( sans CLUSTER) impossible de récupérer l'espace au niveau de la table.
    La reconstruction d'une table HEAP est possible depuis SQL Server 2008 via la commande ALTER TABLE ... REBUILD qui permet de supprimer les « forwarding records » et de réduire le nombre de pages total qui sont utilisées.

    ++

  5. #5
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Juste pour ma culture personnelle, lors que la table n'est pas organisée selon un index en cluster, que se passe-t-il lorsqu'on supprime des données, puis qu'on en insère ensuite ? Il ne bouche pas les trous ?

    Car si c'est le cas, je ne vois pas trop l'intérêt de vouloir absolument faire réduire la taille du fichier de données : ce sera toujours plus rapide de remplir des trous dans un fichier d'un seul bloc, plutôt que de redimensionner le fichier et risque de le fragmenter, non ?
    On ne jouit bien que de ce qu’on partage.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Indépendant X3 et SQL server
    Inscrit en
    Juillet 2006
    Messages
    865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Indépendant X3 et SQL server
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 865
    Points : 1 091
    Points
    1 091
    Par défaut
    Il faut prendre en compte aussi le fait qu'une fois qu'SQL server à augmenté la taille du fichier mdf parce que pas assez de place (les 10% d'augmentation automatique généralement paramétré), la taille physique du fichier ne diminuera plus.
    par contre avec vos delete vous allez récupérer de l'espace dans votre fichier mdf et votre fichier de sauvegarde bak sera plus petit.

  7. #7
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Juste pour ma culture personnelle, lors que la table n'est pas organisée selon un index en cluster, que se passe-t-il lorsqu'on supprime des données, puis qu'on en insère ensuite ? Il ne bouche pas les trous ?
    L'espace libre à l'intérieur des pages suite à des suppressions n'est pas réclamée par SQL Server pour les tables HEAP. Lors des insertions il essaiera de boucher les trous là où ils se situent. Le cas échéant, il essaiera de trouver de l'espace dans une page vide dans une extension allouée et dans le pire des cas il faudra allouer une nouvelle extension.

    ++

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/01/2013, 12h18
  2. [SQL] Suppression d'une donnée dans une lise déroulante
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 26/01/2006, 11h56
  3. [Formulaire] Alerte avant suppression d'une donnée via un formulaire
    Par leloup84 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/01/2006, 10h50
  4. [VB][rdo] Strategie de suppression massive d'enregistrements
    Par Bicky dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/10/2005, 14h12
  5. suppression base de donnée
    Par donny dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 31/07/2005, 10h55

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