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

MS SQL Server Discussion :

Problème Procédure Stockée sur la Reconstitution des Index sous SQL Server 2000


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Problème Procédure Stockée sur la Reconstitution des Index sous SQL Server 2000
    Bonjour à tous,

    En vue de maintenir les index de certaines de mes tables de la base de données, j'ai écris la procédure suivante que j'exécute à travers un JOB:

    1°) Le fait que j'obtiens une erreur au niveau de l'exécution de mon Job (Failed). Or de toute apparence, le code me parait correct.

    2°) Je souhaiterai avoir votre aide pour détecter ce qui ne va pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    CREATE PROCEDURE MAINTINDEX
     
    /* Cette procédure permet de reconstruire les index des tables */
    AS
    SET NOCOUNT ON  -- eliminates the sending of number of affected row
    		-- messages to the client for each statement
    DECLARE @TABLE_NAME nvarchar(20)
     
    DECLARE @fillfactor INT 
     
    SET @fillfactor = 90 
     
    DECLARE DefragIndexcursor 
    CURSOR FOR 
     
    -- Récupération des noms des tables (2 tables) sur les quelles je souhaiterai reconstruire les index
     
    SELECT    name
    FROM         sysobjects
    WHERE     (xtype = 'U') AND (uid = 5)
     
    OPEN DefragIndexcursor
    FETCH NEXT FROM DefragIndexcursor INTO @TABLE_NAME
    WHILE @@FETCH_STATUS = 0
          BEGIN
     
    	DBCC DBREINDEX(@TABLE_NAME,' ',@fillfactor)  
     
    	FETCH NEXT 
    	FROM DefragIndexcursor INTO @TABLE_NAME
          END
    CLOSE DefragIndexcursor
    DEALLOCATE DefragIndexcursor
     
    GO
    Voici le message obtenu lors du lancement du JOB:
    The job failed. The Job was invoked by User PARV07304594\admmoe. The last step to run was step 1 (MaintIndex).

    Merci d'avance pour vos retours.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Quel est le code de ton job ? Quelle est l'erreur (Failed, c'est assez vague)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Au niveau de mon Job, Dans SQL Agent, je fais un clic droit ----> New Job. Ensuite, je fait juste un : EXEC MAINTINDEX( dans Steps/Genaral/Command), MAINTINDEX étant le nom de ma procédure stockée.

    L'erreur complète est la suivante:

    Executed as user: rbpoint_gps_test. ..., contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execu... The step failed.


    Merci d'avance

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    L'erreur obtenue est la suivante:

    Executed as user: rbpoint_gps_test. ..., contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execution completed. If DBCC printed error messages, contact your system administrator. [SQLSTATE 01000] (Message 2528) DBCC execu... The step failed.


    Merci pour vos retours

  5. #5
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Pourrais tu exécuter manuellement la procédure stockée afin d'afficher l'erreur ? Nouvelle requete / EXEC MAINTINDEX

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci à tous. J'ai finalement modifié le code en faisant plus simple. Comme la reconstitution des index ne consernait que deux (2) tables, j'ai procédé ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    -- Suppression des index de la table Tab1
    ALTER TABLE Tab1
    	DROP CONSTRAINT IX_Tab1
     
    -- Reconstruction des index de la table Tab1
    ALTER TABLE Tab1 ADD CONSTRAINT
    	IX_Tab1 UNIQUE CLUSTERED 
    	(
    	ENTRY_ID,
    	ROW_ID
    	) WITH FILLFACTOR = 90 ON [PRIMARY]
    -- Suppression des index de la table TAb2
    ALTER TABLE Tab2
    	DROP CONSTRAINT IX_Tab2
     
    -- Reconstruction des Index de la table Tab2
    ALTER TABLE Tab2 ADD CONSTRAINT
    	IX_Tab2 UNIQUE CLUSTERED 
    	(
    	ENTRY_ID,
    	KAF_ID
    	) WITH FILLFACTOR = 90 ON [PRIMARY]
    Merci à tous pour vos retours

Discussions similaires

  1. Problème procédure stockée sur un report
    Par jonnix dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/12/2010, 12h21
  2. Exécution d'une procédure stockée sous sql server 2000
    Par amirad dans le forum Développement
    Réponses: 2
    Dernier message: 27/04/2009, 09h50
  3. Question sur l'utlisation des index sous oracle?
    Par ouadie99 dans le forum Administration
    Réponses: 19
    Dernier message: 26/11/2008, 20h45
  4. Problème de procédure stockée sous SQL Server 2000.
    Par FabienDev dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/07/2008, 16h26
  5. [PowerBuilder 10] Procédure stockée sous SQL Server 2000
    Par digital prophecy dans le forum Powerbuilder
    Réponses: 8
    Dernier message: 11/10/2006, 10h38

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