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 :

sp_special_columns_100 ne renvoie plus de clé primaire après modification de table


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 77
    Points
    77
    Par défaut sp_special_columns_100 ne renvoie plus de clé primaire après modification de table
    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

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 565
    Points
    52 565
    Billets dans le blog
    5
    Par défaut
    Les procédures marquées xxxx100 ou 110 ou 120, etc... sont spécifique à une version de SQL Server. En l'occurrence 100 => 2008[R2].

    Êtes vous bien en 2008[R2] et en version adéquate au niveau de la base ?

    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/ * * * * *

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 77
    Points
    77
    Par défaut
    Bonjour SQLPro,

    Oui la version est la suivante :
    Microsoft SQL Server 2008 R2 (SP3) - 10.50.6220.0 (X64) Mar 19 2015 12:32:14 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

    Et le "Compatibility level" de mes bases est : 100

    A+

Discussions similaires

  1. Plus d'accès root après modification de /etc/sudoers
    Par africascience dans le forum Ubuntu
    Réponses: 1
    Dernier message: 17/09/2012, 11h05
  2. Réponses: 8
    Dernier message: 14/04/2011, 13h28
  3. [Classloader]mon progr ne marche plus après modif des *.class
    Par Melchisedec dans le forum API standards et tierces
    Réponses: 16
    Dernier message: 30/04/2006, 20h48
  4. [XmlHttpRequest] - Asynchrone ne renvoie plus rien ??
    Par jacquesh dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 28/02/2006, 16h00
  5. Procédure stocké:Insert et renvoie de la clé primair
    Par caramel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/04/2003, 09h34

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