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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
mikedavem
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
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
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
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
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
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
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
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
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
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
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
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
Philip
Bonjour, voici le script de la table :
USE [pegase] GO
/****** Object: Table [dbo].[composants_besoins] Script Date: 07/30/2009 13:57:27 ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[composants_besoins]( [site] [smallint] NOT NULL, [code_interne] [varchar](64) NOT NULL, [fournisseur] [varchar](16) NOT NULL, [besoin_type] [char](6) NOT NULL, [semaine] [smallint] NOT NULL, [numero] [int] NOT NULL, [credit] [decimal](15, 4) NOT NULL, [debit] [decimal](15, 4) NOT NULL, [date_besoin] [datetime] NOT NULL, [date_commande] [datetime] NOT NULL, [ligne_oa] [int] NOT NULL, [Ressource] [varchar](64) NULL ) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_site] DEFAULT (1) FOR [site] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_code_interne] DEFAULT ('-') FOR [code_interne] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_fournisseur] DEFAULT ('-') FOR [fournisseur] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_besoin_type] DEFAULT ('PDP') FOR [besoin_type] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_semaine] DEFAULT (99) FOR [semaine] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_numero] DEFAULT (0) FOR [numero] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_besoin] DEFAULT (0) FOR [credit] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_consomme] DEFAULT (0) FOR [debit] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_date_besoin] DEFAULT (getdate()) FOR [date_besoin] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_date_commande] DEFAULT (getdate()) FOR [date_commande] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_ligne_oa] DEFAULT (0) FOR [ligne_oa] GO
Le plus étrange, j'ai scinder la proc qui posait le problème en deux, et là, depuis trois jours plus d'erreurs !
Salutations Philip
Bonjour,
voici le script de la table :
USE [pegase]
GO
/****** Object: Table [dbo].[composants_besoins] Script Date: 07/30/2009
13:57:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[composants_besoins](
[site] [smallint] NOT NULL,
[code_interne] [varchar](64) NOT NULL,
[fournisseur] [varchar](16) NOT NULL,
[besoin_type] [char](6) NOT NULL,
[semaine] [smallint] NOT NULL,
[numero] [int] NOT NULL,
[credit] [decimal](15, 4) NOT NULL,
[debit] [decimal](15, 4) NOT NULL,
[date_besoin] [datetime] NOT NULL,
[date_commande] [datetime] NOT NULL,
[ligne_oa] [int] NOT NULL,
[Ressource] [varchar](64) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_site] DEFAULT (1) FOR [site]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_code_interne] DEFAULT ('-') FOR [code_interne]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_fournisseur] DEFAULT ('-') FOR [fournisseur]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_besoin_type] DEFAULT ('PDP') FOR [besoin_type]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_semaine] DEFAULT (99) FOR [semaine]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_numero] DEFAULT (0) FOR [numero]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_besoin] DEFAULT (0) FOR [credit]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_consomme] DEFAULT (0) FOR [debit]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_date_besoin] DEFAULT (getdate()) FOR [date_besoin]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_date_commande] DEFAULT (getdate()) FOR [date_commande]
GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT
[DF_composants_besoins_ligne_oa] DEFAULT (0) FOR [ligne_oa]
GO
Le plus étrange, j'ai scinder la proc qui posait le problème en deux, et là,
depuis trois jours plus d'erreurs !
/****** Object: Table [dbo].[composants_besoins] Script Date: 07/30/2009 13:57:27 ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[composants_besoins]( [site] [smallint] NOT NULL, [code_interne] [varchar](64) NOT NULL, [fournisseur] [varchar](16) NOT NULL, [besoin_type] [char](6) NOT NULL, [semaine] [smallint] NOT NULL, [numero] [int] NOT NULL, [credit] [decimal](15, 4) NOT NULL, [debit] [decimal](15, 4) NOT NULL, [date_besoin] [datetime] NOT NULL, [date_commande] [datetime] NOT NULL, [ligne_oa] [int] NOT NULL, [Ressource] [varchar](64) NULL ) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_site] DEFAULT (1) FOR [site] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_code_interne] DEFAULT ('-') FOR [code_interne] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_fournisseur] DEFAULT ('-') FOR [fournisseur] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_besoin_type] DEFAULT ('PDP') FOR [besoin_type] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_semaine] DEFAULT (99) FOR [semaine] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_numero] DEFAULT (0) FOR [numero] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_besoin] DEFAULT (0) FOR [credit] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_consomme] DEFAULT (0) FOR [debit] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_date_besoin] DEFAULT (getdate()) FOR [date_besoin] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_date_commande] DEFAULT (getdate()) FOR [date_commande] GO
ALTER TABLE [dbo].[composants_besoins] ADD CONSTRAINT [DF_composants_besoins_ligne_oa] DEFAULT (0) FOR [ligne_oa] GO
Le plus étrange, j'ai scinder la proc qui posait le problème en deux, et là, depuis trois jours plus d'erreurs !