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 :

Comment modifier un champ ?


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut Comment modifier un champ ?
    Bonjour,

    J'utilise Sql server 2005 développpeur avec Sql server management studio.

    Et je ne suis pas un pro du tout...

    Mon problème est tout bête : j'ai une table ayant déjà des données et je souhaite passer un nvarchar(50) à 100 par exemple.

    Dès que je tente de modifier la table, au moment de l'enregistrement je me retrouve avec une beau message d'interdiction:

    Le journal des transactions de la base de données ttttt est plein. Pour savoir pourquoi il est impossible de réutiliser de l'espace dans le journal consultez la colonne log_reuse_wait_desc dans sys.databases

    Et là je me retrouve bien bloqué !

    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Essaie de tronquer le journal des transactions avant d'effectuer ton changement de taille.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut
    Merci beaucoup madinico, mais je ne sais pas comment faire ça...

    Je me doute en effet qu'il y a un truc à faire par là mais je ne maîtrise pas suffisemment la bête.

    J'en profite pour ajouter une question: il n'y a aucun risque au niveau des données n'est-ce pas ?

    Merci

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut
    Question supplémentaire: ne faut-il pas tout simplement que je mette ma base en croissance auto sans limite ?
    Car je viens de me rendre compte qu'elle est en "none"
    Merci

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    A chaque fois qu'une opération altérant une base de données est effectuée (structure ou données), celle-ci est enregistrée dans le journal des transactions.
    Le journal des transactions est un historique de l'ensemble de ces opérations. Lorsqu'il est trop important, on ne peut plus jouer de requête. La troncature permet de diminuer la taille du journal. La troncature n'altrère pas les données. Par contre la récupération de l'historique n'est plus possible pour les données tronquées. D'où l'intérçet d'effectuer des sauvegardes de sa base de données.
    Pour effectuer l'opération de troncature du journal des transactions, tu trouveras l'ensemble des informations nécessaires dans l'aide SQL Server.

  6. #6
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 127
    Par défaut
    voila la solution

    Pour résoudre ce problème, tronquer le journal des transactions de base de données. Pour ce faire, procédez comme suit :

    1. Démarrez SQL Server Enterprise Manager. Pour ce faire, cliquez sur Démarrer , pointez sur Tous les programmes ou programmes , pointez sur Microsoft SQL Server , puis cliquez sur Enterprise Manager .

    2. Développez Serveurs Microsoft SQL Server , développez le groupe SQL Server , développez le serveur approprié, puis puis développez bases de données .

    3. Cliquez avec le bouton droit sur la base de données ProjectServer , pointez sur Toutes les tâches et puis cliquez sur Réduire la base de données .

    4. Dans la boîte de dialogue réduire une base de données - un DatabaseName, cliquez sur OK pour conserver les valeurs actuelles.
    source : http://support.microsoft.com/kb/871237/fr

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 126
    Par défaut en savoir +
    Tu trouveras davantage d'explications sur le rôle du journal de transaction, et sur les opération permettant éventuellement de réduire sa taille (via script) dans le papier suivant : http://sqlpro.developpez.com/cours/sqlserver/log/

    A+

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/07/2006, 11h51
  2. Réponses: 12
    Dernier message: 19/06/2006, 16h26
  3. [C#] Comment modifier un champ dans un Repeater ?
    Par ToxiZz dans le forum ASP.NET
    Réponses: 3
    Dernier message: 10/05/2006, 09h25
  4. Comment modifier un champ quand le formulaire change?
    Par benjapar dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 15/03/2006, 23h01
  5. Comment modifier un champ dans une table liée ?
    Par HookerSeven dans le forum Access
    Réponses: 11
    Dernier message: 05/02/2006, 23h50

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