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

Développement SQL Server Discussion :

Blocage en cours Rebuild Index et scripts qui fait un merge


Sujet :

Développement SQL Server

  1. #1
    Membre habitué

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 284
    Points : 186
    Points
    186
    Par défaut Blocage en cours Rebuild Index et scripts qui fait un merge
    Lors d'un chargement d'un Datawarehouse. J'ai un blocage à un moment donné dans mon flux J'ai un Rebuild des index de toutes les tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ]; EXEC sp_MSforeachtable @command1="print '?'", @command2="ALTER INDEX ALL ON ? REBUILD PARTITION = ALL WITH (SORT_IN_TEMPDB=ON, ONLINE=OFF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON);";
    Donc ma Table_A sera affectée.

    Un tâche en parallèle fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET NOCOUNT ON;  [etl].[Merge_MaVueA];
    Un procédure qui fait un MERGE pour un UPDATE WHEN MATCHED ou INSERT WHEN NO MATCHED
    qui utilise une vue dont certain champs sont basé sur MaTable_A.

    Voici le schéma avec le rebuild Index et le Merge.

    Je devrais pas faire ces 2 opérations en parallèles mais à la suite ?
    Images attachées Images attachées  

  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 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    Effectivement il faudrait les mettre en séquence. Ce que je ne comprends pas bien c'est l'utilité de reconstruire tous les index.... Expliquez moi pourquoi ?

    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 habitué

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 284
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Merci beaucoup pour votre réponse :
    C'est un projet que j'ai repris et j'ai tout l'environnement Data à prendre en main de l'entité pour laquelle je travaille. De la partie ETL jusqu'à la partie "DataViz", DB, DWH cube inclus. Donc je ne me suis pas encre tout approprié.
    Dans la procédure stockée, il y a un ajout d'indexe unique sur la natural key de la table B pour lier dim_X et fact_Y.

    Car ils ont ont été désactivé pour des opérations massive d'insertion, d'updates et de surpressions, Tables de dimensions, Tables de faits.

  4. #4
    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 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    OK.

    dans le principe pour un chargement en masse c'est bien de désactiver les index, à condition que ce ne soient pas des index "sémantiques". Autrement dit, ne pas supprimer les index sur : les PRIMARY KEY, les contraintes d'unicité et les FOREIGN KEY... Et réactiver ces index après l'insertion.

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

  5. #5
    Membre habitué

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 284
    Points : 186
    Points
    186
    Par défaut
    Ok merci de vos réponses. Je vais vérifier.

Discussions similaires

  1. Script qui fait sautiller ma page (Weborama)
    Par kurtbosh dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 13/09/2009, 11h54
  2. [AJAX] Script qui fait planter IE6
    Par bassimgouzi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/08/2008, 19h19
  3. script qui explore les sous-répertoire ?
    Par farenheit dans le forum Flash
    Réponses: 9
    Dernier message: 20/07/2005, 12h02
  4. script qui marche pas...
    Par jpg dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/10/2004, 14h19
  5. [Script] Qui est administrateur ...
    Par ¤FRIX¤ dans le forum Sécurité
    Réponses: 6
    Dernier message: 06/04/2004, 11h58

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