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

Administration SQL Server Discussion :

modification taille de champs


Sujet :

Administration SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut modification taille de champs
    Bonjour,

    J'ai une base tournant sous SQL SERVER 2005 qui comporte une table defautTest
    Cette table contient plus de 21722039 ligne

    J'ai une demande de faire passer taille du champ dt_lib nvarchar(40)) vers 120
    Au moment de modification J'ai eu ce message
    - L'enregistrement des modifications de définition des tables comportant de nombreuses données peut prendre beaucoup de temps. Lors de l'enregistrement des modifications, les données de la TABLE seront inaccessibles.
    après avoir cliquant sur bouton Ok J'ai eu ce message d'erreur
    " Impossible de modifier la table.
    Expiration du délai d'attente. Le délai d'attente s'est écoulé avant la fin de l'opération ou le serveur ne répond pas."
    Comment je doit procéder ???

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez effectuer cette opération directement dans une fenêtre de requête, afin de ne pas avoir le problème de timeout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE LaTable
        ALTER COLUMN LaColonne NVARCHAR(120) [NOT] NULL ...

  3. #3
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    Bonjour,

    Vous pouvez effectuer cette opération directement dans une fenêtre de requête, afin de ne pas avoir le problème de timeout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE LaTable
        ALTER COLUMN LaColonne NVARCHAR(120) [NOT] NULL ...
    ce dernier est en relation avec des procédures stocké
    y'a t'il des impacts
    Images attachées Images attachées  

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par joujousagem2006 Voir le message
    ce dernier est en relation avec des procédures stocké
    y'a t'il des impacts
    C'est à vous de travailler un peu et de regarder si votre colonne est employée dans vos procédures et d'adapter les variables qui la stockent éventuellement.
    Ça ne devrait pas être bien long, ça ne touche que 5 SP et 1 vue.

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Vous semblez avoir aussi une vue !

    Si elle est liée au schéma (option WITH SCHEMABINDING), alors vous ne pourrez pas effectuer la modification : il faudra d'abord supprimer la vue, et la recréer ensuite

  6. #6
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    Vous semblez avoir aussi une vue !

    Si elle est liée au schéma (option WITH SCHEMABINDING), alors vous ne pourrez pas effectuer la modification : il faudra d'abord supprimer la vue, et la recréer ensuite
    Bonjour

    Ci joint la vue en relation avec la table option WITH SCHEMABINDING n'existe pas
    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
     
    CREATE    VIEW [dbo].[vSGM_DefautTest]
    AS
    SELECT     TOP 100 PERCENT dbo.defautTest.dt_lib AS Defaut, dbo.defautTest.pt_num, dbo.defautTest.mt_test, dbo.mvtTest.mt_dmvt, dbo.produit.fp_cod, dbo.defautTest.ni_num,  
                           dbo.mvtTest.mt_statut, dbo.mvtTest.mt_testeur AS Poste, dbo.postchar.pr_lib AS Testeur, dbo.mvtTest.mt_passage
    FROM         	dbo.defautTest 
    		INNER JOIN dbo.mvtTest ON dbo.defautTest.pt_num = dbo.mvtTest.pt_num AND dbo.defautTest.mt_test = dbo.mvtTest.mt_test 
    		AND dbo.defautTest.mt_passage = dbo.mvtTest.mt_passage AND dbo.defautTest.ni_num = dbo.mvtTest.ni_num 
    		AND dbo.defautTest.mt_passage = dbo.mvtTest.mt_passage AND dbo.defautTest.pt_num = dbo.mvtTest.pt_num AND dbo.defautTest.dt_lib <> '' 
    		INNER JOIN  dbo.postchar ON dbo.mvtTest.mt_testeur = dbo.postchar.pr_IDreseau 
    		INNER JOIN  dbo.produit ON dbo.defautTest.pt_num = dbo.produit.pt_num
    ORDER BY dbo.defautTest.pt_num, dbo.mvtTest.mt_dmvt
     
     
     
     
    GO
    Aussi la procédure Stocké en ralation dont le colone dt_lib pointe sur la variable @dt_designation varchar(40 )
    je pensse qu je le doit le modifier aussi ????


    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
    CREATE PROCEDURE [dbo].[spSGM_InsDefautTest]
    (
    @pt_num		varchar(18),
    @ni_num		varchar(23),
    @dt_designation	varchar(40),
    @mt_test		varchar(25)
    )
    AS
     
    DECLARE @mt_passage smallint
     
     
    IF EXISTS (SELECT mt_passage = @mt_passage FROM mvtTest WHERE ni_num = @ni_num AND pt_num=@pt_num AND mt_test=@mt_test AND mt_statut='NOGO')
     
    	BEGIN
    		SELECT @mt_passage = max(mt_passage)  FROM mvtTest WHERE ni_num = @ni_num AND pt_num=@pt_num AND mt_test=@mt_test AND mt_statut='NOGO'
    	END
    ELSE
    	BEGIN
    		SET @mt_passage = 1
    	END
     
     
    INSERT INTO defautTest
    (
    	pt_num,
    	ni_num,
    	dt_lib,
    	mt_passage,
    	mt_test
    )
    VALUES
    (
    	@pt_num,
    	@ni_num,
    	@dt_designation,
    	@mt_passage,
    	@mt_test
    )
    GO
    merci pour la réponse c'est urgent svp

  7. #7
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par joujousagem2006 Voir le message
    je pensse qu je le doit le modifier aussi ????
    oui !

    Notez aussi qu'actuellement, la procédure stockée prend du VARCHAR en entrée alors que la colonne est de type NVARCHAR !

  8. #8
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    oui !

    Notez aussi qu'actuellement, la procédure stockée prend du VARCHAR en entrée alors que la colonne est de type NVARCHAR !
    Bonjour
    La colonne spécifique dépend de 3 index

    Quel est l'impact de supprimer ces index et de les créer de nouveau surtout que la table est volumineuse, elle contient plus de 21 784 190 colonne Lignes.

    il y aura plus de perte de données ???


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Msg*5074, Niveau*16, État*1, Ligne*1
    La objet 'PK_defautTest' dépend de colonne 'dt_lib'.
    Msg*5074, Niveau*16, État*1, Ligne*1
    La index 'ix_6647' dépend de colonne 'dt_lib'.
    Msg*4922, Niveau*16, État*9, Ligne*1
    ALTER TABLE ALTER COLUMN dt_lib a échoué car un ou plusieurs objets accèdent à cette colonne.
    Images attachées Images attachées  

Discussions similaires

  1. Modification taille champ char
    Par calou_33 dans le forum Administration
    Réponses: 4
    Dernier message: 13/09/2011, 11h54
  2. [WD11] drotation et modification de la taille du champ image
    Par patrickpa dans le forum WinDev
    Réponses: 8
    Dernier message: 29/07/2009, 09h45
  3. [AC-2003] Modification taille de champs en vba (dao)
    Par guen dans le forum VBA Access
    Réponses: 1
    Dernier message: 27/04/2009, 15h49
  4. modification taille d'un champs
    Par c+cool dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/09/2008, 16h21
  5. Taille des champs proportionnelle...
    Par Depteam1 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 09/08/2002, 11h48

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