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 :

Comment partitionner un index non cluster ?


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 13
    Par défaut Comment partitionner un index non cluster ?
    Bonjour a tous ,

    j'ai un table partitionner et j'aimerai faire un switch du partition la plus volumineux vers un table d'archive

    l’opération se fait a travers cette instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE dbo.FactProduction
        SWITCH PARTITION 1 TO 
        dbo.staging_FactProductInventory20200720005455 PARTITION 1;
    sauf que j'ai ce message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Avertissement*: la partition spécifiée 1 pour la table 'Produit.dbo.staging_FactProductInventory20200720005455' a été ignorée dans l'instruction ALTER TABLE SWITCH, parce que la table n'est pas partitionnée.
    Msg*7733, Niveau*16, État*4, Ligne*13
    L'instruction 'ALTER TABLE SWITCH' a échoué. table 'Produit.dbo.dbo.FactProduction' est partitionné tandis que index 'PK_FactProductInventory' ne l'est pas.
     
    Heure de fin*: 2020-07-20T16:13:55.3875585+02:00
    Qui peux m'aider svp a faire partition mon index il s'agit d'un index NONCLUSTERED crée derrière un contrainte de clé primaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ALTER TABLE [dbo].[dbo.FactProduction] ADD  CONSTRAINT [PK_dbo.FactProduction] PRIMARY KEY NONCLUSTERED 
    (
    	[ProductKey] ASC,
    	[DateKey] ASC
    ) ON FG1
    merci pour vos aides
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    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 : 46
    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
    Par défaut
    Hello,

    Ta table d'archive n'est pas partitionnée d'où le message d'erreur que tu rencontres.

    la table 'Produit.dbo.staging_FactProductInventory20200720005455' a été ignorée dans l'instruction ALTER TABLE SWITCH, parce que la table n'est pas partitionnée.
    Tu peux le vérifier avec la commande SQL suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT MAX(partition_number)
    FROM sys.partitions
    WHERE OBJECT_ID = OBJECT_ID(' dbo.staging_FactProductInventory20200720005455')
    L'instruction à utiliser dans ton cas serait plutôt (en supposant que ta table d'archive soit dans le même groupe de fichiers que la partition 1 de la table dbo.FactProduction) ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE dbo.FactProduction SWITCH PARTITION 1 TO dbo.staging_FactProductInventory20200720005455;
    Ceci étant dit, est-ce que tu veux vraiment partitionner ta table d'archive? Quelle est la finalité de cette table?

    Qui peux m'aider svp a faire partition mon index il s'agit d'un index NONCLUSTERED crée derrière un contrainte de clé primaire
    Est-ce que tu peux nous montrer ton schéma et ta fonction de partition?

    ++

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    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 999
    Billets dans le blog
    6
    Par défaut
    Plus globalement pour voir toutes les informations des objets partitionnés :
    http://mssqlserver.fr/metadonnees-du-partitionnement/

    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. utilisation du mot include dans un index non cluster
    Par joujousagem2006 dans le forum Administration
    Réponses: 4
    Dernier message: 18/07/2014, 22h08
  2. Index non-cluster : Choix de l'optimiseur ?
    Par zinzineti dans le forum Administration
    Réponses: 18
    Dernier message: 22/09/2010, 15h52
  3. Index Non Cluster - Niveau de sélectivité
    Par zinzineti dans le forum Administration
    Réponses: 16
    Dernier message: 15/09/2010, 14h13
  4. [SQL SERVER 2K] Index clustered et non clustered
    Par dens19 dans le forum Administration
    Réponses: 3
    Dernier message: 26/03/2009, 19h38
  5. Que contiennent les index Non Cluster dans SQL 2005
    Par ygrim dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/03/2008, 16h01

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