SQL Server Management Studio - Ajout / Déplacement de colonnes nécessite de supprimer et de recréer?
Pourquoi je reçois un message que la table doit supprimé et recréé lorsque je ajouter/déplacer des colonnes?
Je crois que ce qui se passe après l'ajout de contraintes de clés étrangères.
Que puis-je faire pour ajouter de nouvelles colonnes sans tomber de la table?
source d'informationauteur tvr | 2010-10-09
Vous devez vous connecter pour publier un commentaire.
Si vous êtes plus intéressés à obtenir simplement des SSMS d'arrêter de le harceler, vous pouvez décocher la case "Empêcher l'enregistrement des modifications qui exigent la table de re-création" dans Options->Concepteurs->Table Et Concepteurs de bases de données. La /les table(s) seront encore supprimés et recréés, mais au moins SSMS de ne pas vous harceler tout à fait aussi beaucoup parler d'elle.
(Cela suppose que vous travaillez dans une dev/environnement de test ou dans un environnement de production où une brève interruption de l'existence de la table ne vis rien)
Parce que c'est la façon dont SQL Server Management Studio (parfois)!
Utilisation TSQL de ALTER TABLE à la place:
SQL Server (et tous les autres SGBDR, vraiment) n'a aucune notion de la colonne "ordre" - par exemple, si vous déplacez les colonnes autour de, le seul moyen de parvenir à cette nouvelle structure de la table est de délivrer un nouveau
CREATE TABLE
déclaration. Vous ne pouvez pas commander votre colonnes d'une autre manière - ni vous, vraiment, puisque dans la théorie relationnelle, l'ordre des colonnes dans un tuple n'est pas pertinent.Donc, la seule chose SQL Server Management Studio peut faire (et a fait tout le long) est:
Le seul moyen de contourner ce problème est:
ALTER TABLE
instructions SQL au lieu de la table interactive designer pour votre travailLorsque vous modifiez la définition d'un tableau dans le concepteur, vous êtes en disant: "voici ce que je veux de la table à ressembler, aujourd'hui ce que les instructions SQL en question pour que mes voeux se réalisent". Cela fonctionne très bien pour de simples changements, mais le logiciel ne peut pas lire dans votre esprit, et parfois il va essayer de faire les choses dans une plus compliqué pour la sécurité.
Lorsque cela se produit, je suggère que, au lieu de simplement en cliquant sur OK, cliquez sur le "Script" bouton en haut de la boîte de dialogue, et de le laisser générer le SQL dans une fenêtre de requête. Vous pouvez ensuite les modifier et simplifier le code généré avant de l'exécuter.
Il y a des bugs dans SSMS 2008 R2 (et plus) qui sont utiles à connaître:
Je l'ai signalé il ya quelques années par le biais de Microsoft Connect commentaires, mais les bugs ont été fermées en raison de il est "by design"
Mise à jour:
Ce qui est étrange et gênant pour le voir dans le bureau d'un produit développé pendant 2 décennies, alors que cette (autorefreshing) est faite par la plupart des applications dans n'importe quel navigateur