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

Développement SQL Server Discussion :

Effacer et recréer une table


Sujet :

Développement SQL Server

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Points : 133
    Points
    133
    Par défaut Effacer et recréer une table
    bonjour,

    j'ai un probleme avec une table, quand je fais un :
    j'ai une message d'erreur :

    Msg*682, Niveau*22, État*153, Ligne*17
    Internal error. Buffer provided to read column value is too small. Run DBCC CHECKDB to check for any corruption.
    Quand je fais un dbcc checkdb , j'ai aucune erreur...

    je voulais savoir si on pouvait supprimer et recréer une table (y a que 3 enregistrements dedans) en désactivant toutes les contraintes qui empêcheraient la suppression ?

    je fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
    j'exécute la requête créée par "sql server manager studio" quand on lui demande la requête pour effacer et créer une table, c'est a dire:

    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
       ALTER TABLE [dbo].[emp] DROP CONSTRAINT [CK_EMP_FIRSTNAMELASTNAME]
       GO
       ALTER TABLE [dbo].[emp] DROP CONSTRAINT [FK_emp_SecurityLevel]
       GO
       ALTER TABLE [dbo].[emp] DROP CONSTRAINT [FK_emp_level]
       GO
       .....etc...
     
       DROP TABLE [dbo].[emp]
       GO
     
       CREATE TABLE [dbo].[emp](
    	[IdNumber] [int] NOT NULL,
    	[LastName] [varchar](30) NULL,
    	[FirstName] [varchar](30) NULL,
            .... etc ....
        CONSTRAINT [PK_emp] PRIMARY KEY CLUSTERED 
        (
    	[IdNumber] ASC
        )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
        ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 
       GO
     
       ALTER TABLE [dbo].[emp] ADD  CONSTRAINT [DF_Emp_Order]  DEFAULT ((0)) FOR [Order]
       GO
       ...etc...
     
      EXEC sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"



    et ca marche pas , il arrive pas à supprimer la table à cause des contraintes…

  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 761
    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 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Commencez par faire une analyse exhaustive de la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBCC CHECKTABLE ('emp') WITH ALL_ERRORMSGS, EXTENDED_LOGICAL_CHECKS, DATA_PURITY;
    Et donnez nous le résultat.

    Si cela n'est pas réparable il faudra supprimer effectivement la table.

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

Discussions similaires

  1. Effacer doublons dans une table
    Par ldiaz dans le forum Requêtes
    Réponses: 3
    Dernier message: 01/04/2014, 12h07
  2. Réponses: 2
    Dernier message: 17/06/2013, 09h18
  3. effacer ligne dans une table et dans fichier
    Par PyMon dans le forum WinDev
    Réponses: 7
    Dernier message: 09/06/2008, 11h11
  4. effacer une table que si elle existe ?
    Par soniaSQL dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/06/2003, 14h55

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