GNT sans publicité, site mobile, fonctionnalitées exclusives...

Erreur 2601 sur un index non unique

Le
Philip
Bonjour,
Notre système tourne sous sql2008, or il nous arrive pendant certains batchs
d'avoir l'erreur suivante :
Exécuté en tant qu'utilisateur : AUTORITE NT\SYSTEM. Impossible d'insérer
une ligne de clé en double dans l'objet 'dbo.composants_besoins' avec un
index unique 'IX_composants_besoins_2'. [SQLSTATE 23000] (erreur 2601)
L'instruction a été arrêtée. [SQLSTATE 01000] (erreur 3621). L'étape a
échoué.
or il s'avère que cet index n'est pas décaré comme unique, mais autorise les
doublons. Si on relance celui-ci aucun problème le batch se déroule
parfaitement.
Quelqu'un a-t'il une idée du problème ?
Cordialement
Lire les 6 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
mikedavem
Le #19840561
Bonjour,

Pouvez nous nous poster le script de création de l'index ?
On y verra peut être un peu plus clair

++

--
MCDBA | MCTIP SQLSRV 2005


"Philip" wrote:

Bonjour,
Notre système tourne sous sql2008, or il nous arrive pendant certains batchs
d'avoir l'erreur suivante :
Exécuté en tant qu'utilisateur : AUTORITE NTSYSTEM. Impossible d'insérer
une ligne de clé en double dans l'objet 'dbo.composants_besoins' avec un
index unique 'IX_composants_besoins_2'. [SQLSTATE 23000] (erreur 2601)
L'instruction a été arrêtée. [SQLSTATE 01000] (erreur 3621). L'étape a
échoué.
or il s'avère que cet index n'est pas décaré comme unique, mais autorise les
doublons. Si on relance celui-ci aucun problème le batch se déroule
parfaitement.
Quelqu'un a-t'il une idée du problème ?
Cordialement


Philip
Le #19840821
Bonjour et merci de la réponse, voici le script :
USE [pegase]
GO

/****** Object: Index [IX_composants_besoins_7] Script Date: 07/28/2009
09:03:19 ******/
CREATE NONCLUSTERED INDEX [IX_composants_besoins_7] ON
[dbo].[composants_besoins]
(
[site] ASC,
[date_commande] ASC,
[code_interne] ASC,
[besoin_type] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB =
OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 75) ON [PRIMARY]
GO
mikedavem
Le #19840891
Bonjour phillipe,

Le script de création que vous donnez concerne l'index nommé
'IX_composants_besoins_7'. Hors d'après le message d'erreur que vous donné,
c'est l'index 'IX_composants_besoins_2'

Vérifiez l'index 'IX_composants_besoins_2'.

++

--
MCDBA | MCITP SQLSRV 2005


"Philip" wrote:

Bonjour,
Notre système tourne sous sql2008, or il nous arrive pendant certains batchs
d'avoir l'erreur suivante :
Exécuté en tant qu'utilisateur : AUTORITE NTSYSTEM. Impossible d'insérer
une ligne de clé en double dans l'objet 'dbo.composants_besoins' avec un
index unique 'IX_composants_besoins_2'. [SQLSTATE 23000] (erreur 2601)
L'instruction a été arrêtée. [SQLSTATE 01000] (erreur 3621). L'étape a
échoué.
or il s'avère que cet index n'est pas décaré comme unique, mais autorise les
doublons. Si on relance celui-ci aucun problème le batch se déroule
parfaitement.
Quelqu'un a-t'il une idée du problème ?
Cordialement


Philip
Le #19841311
Voici le script, mais à priori cet incident peut intervenir sur l'un des 7
index Non unique de cette table (le premier étant lui unique) !

USE [pegase]
GO

/****** Object: Index [IX_composants_besoins_2] Script Date: 07/28/2009
10:09:08 ******/
CREATE NONCLUSTERED INDEX [IX_composants_besoins_2] ON
[dbo].[composants_besoins]
(
[site] ASC,
[besoin_type] ASC,
[code_interne] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB =
OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 75) ON [PRIMARY]
GO

Merci encore,
Philip
mikedavem
Le #19842771
Bizarre,

Pouvez vous cette fois poster le script de votre table ?

++

--
MCDBA | MCTIP SQLSRV 2005


"Philip" wrote:

Voici le script, mais à priori cet incident peut intervenir sur l'un des 7
index Non unique de cette table (le premier étant lui unique) !

USE [pegase]
GO

/****** Object: Index [IX_composants_besoins_2] Script Date: 07/28/2009
10:09:08 ******/
CREATE NONCLUSTERED INDEX [IX_composants_besoins_2] ON
[dbo].[composants_besoins]
(
[site] ASC,
[besoin_type] ASC,
[code_interne] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB =
OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 75) ON [PRIMARY]
GO

Merci encore,
Philip



Publicité
Suivre les réponses
Poster une réponse
Anonyme