Bonjour à tous,

J'a modifié la structure(changement de clé primaire) de plusieurs tables dans une base de données et il semble que la procédure système
sp_special_columns_100 ne renvoie plus de clé primaire pour les tables modifiées.

Cette procédure système est utilisée par Microsoft Query(Excel 2013) afin de d'afficher les clés primaires des tables sélectionnées.

Est-ce que vous savez il s'agit d'un problème connu de SQL server 2008R2 ?

Merci d'avance


P.S : Voici un script qui reprooduit le problème:
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
36
37
38
39
40
41
42
43
44
45
USE MASTER;
CREATE DATABASE TEST;
USE TEST;
GO
CREATE TABLE T_TEST_TST
(
	ID_TST VARCHAR(8) not null CONSTRAINT PK_ID_TST PRIMARY KEY CLUSTERED,
	TST_LIBELLE VARCHAR(20) NOT NULL,
	TST_QTY INTEGER NOT NULL CONSTRAINT CK_TST_QTY CHECK (TST_QTY>0)
)
GO
INSERT INTO T_TEST_TST
SELECT 'T1','TEST N°1',10
UNION ALL
SELECT 'T2','TEST N°2',20
UNION ALL
SELECT 'T3','TEST N°3',30
UNION ALL
SELECT 'T4','TEST N°4',40
GO
---------------------------------------------------------------------
--- VERIFICATION DE LA PROCEDURE SYSTEME --> CLE RETOURNEE ID_TST ---
---------------------------------------------------------------------
exec [TEST].[sys].sp_special_columns_100 N'T_TEST_TST',N'dbo',N'TEST',N'R',N'C',N'U'
GO
-----------------------------------
--- DEBUT MODIFICATION STRUCTURE --
-----------------------------------
ALTER TABLE T_TEST_TST DROP CONSTRAINT PK_ID_TST
GO
------------------------------------------
--- CREATION DE LA FUTURE CLE PRIMAIRE ---
------------------------------------------
ALTER TABLE T_TEST_TST ADD TST_ID INTEGER NOT NULL IDENTITY(1,1) CONSTRAINT PK_TST_ID PRIMARY KEY CLUSTERED
GO
-----------------------------------------------------
--- SUPPRESSION DE L'ANCIENNE CLE DEVENUE INUTILE ---
-----------------------------------------------------
ALTER TABLE T_TEST_TST DROP COLUMN ID_TST
GO
-------------------------------------------------------------------------
--- VERIFICATION DE LA PROCEDURE SYSTEME --> AUCUN ENREGISTREMENT ??? ---
-------------------------------------------------------------------------
exec [TEST].[sys].sp_special_columns_100 N'T_TEST_TST',N'dbo',N'TEST',N'R',N'C',N'U'
GO