sql - utilisateur - tutoriel talend pdf en français




Enregistrement des modifications après modification de la table dans SQL Server Management Studio (5)

Allez à SSMS et essayez ceci

Menu >> Outils >> Options >> Designers >> Désactivez "Empêcher l'enregistrement des modifications nécessitant une recréation de table".

Voici une très bonne explication à ce sujet: http://blog.sqlauthority.com/2009/05/18/sql-server-fix-management-studio-error-saving-changes-in-not-permitted-the-changes-you-have-made-require-the-following-tables-to-be-dropped-and-re-created-you-have-either-made-changes-to-a-tab/

Si je veux enregistrer les modifications dans une table précédemment enregistrée dans SQL Server Management Studio (aucune donnée dans la table présente), un message d'erreur s'affiche:

L'enregistrement des modifications n'est pas autorisé. Les modifications que vous avez apportées nécessitent la suppression et la recréation des tables suivantes. Vous avez soit apporté des modifications à une table qui ne peut pas être recréée, soit activé l'option Empêcher l'enregistrement des modifications nécessitant que la table soit recréée.

Qu'est-ce qui peut empêcher la modification facile de la table? Ou est-ce la manière habituelle pour SQL Server Management Studio d'exiger la recréation de la table pour l'édition? Qu'est-ce que c'est - cette "option Empêcher les changements d'enregistrement" ?


Allez dans Outils -> Options -> Designers-> Décochez "Empêcher les modifications nécessitant une recréation de table". Voila.

Cela arrive parce qu'il est parfois nécessaire de laisser tomber et de recréer une table pour changer quelque chose. Cela peut prendre un certain temps, car toutes les données doivent être copiées dans une table temporaire, puis réinsérées dans la nouvelle table. Puisque SQL Server par défaut ne vous fait pas confiance, vous devez dire "OK, je sais ce que je fais, maintenant laissez-moi faire mon travail."


De nombreuses modifications que vous pouvez effectuer très facilement et visuellement dans l'éditeur de tables de SQL Server Management Studio requièrent que SSMS supprime la table en arrière-plan et la recrée de toutes pièces. Même des choses simples comme la réorganisation des colonnes ne peuvent pas être exprimées dans l'instruction SQL DDL standard - tout ce que SSMS peut faire est de supprimer et de recréer la table.

Cette opération peut prendre beaucoup de temps sur une grande table, ou b) peut même échouer pour diverses raisons (comme les contraintes FK et autres). Par conséquent, SSMS dans SQL Server 2008 a introduit cette nouvelle option que les autres réponses ont déjà identifiée.

Il peut sembler contre-intuitif d'abord d'empêcher de tels changements - et c'est certainement une nuisance sur un serveur de dev. Mais sur un serveur de production, cette option et sa valeur par défaut d'empêcher de tels changements deviennent une bouée de sauvetage potentielle!


Outils> Options

Décochez l'option ci-dessus






database-table