Lorsque je crée une table dans SQL Server et l'enregistre, si j'essaie de modifier la conception de la table, comme changer un type de colonne d'int en réel, j'obtiens cette erreur:
L'enregistrement des modifications n'est pas autorisé. La modification que vous avez effectuée nécessite que le tableau suivant soit supprimé et recréé. Vous avez soit apporté des modifications à une table qui ne peut pas être recréée, soit activé l'option d'empêcher l'enregistrement des modifications nécessitant la recréation de la table.
Pourquoi dois-je recréer la table? Je veux juste changer un type de données de smallint
à real
.
La table est vide et je ne l'ai pas utilisée jusqu'à présent.
sql-server-2008
save
ssms
menuitem
Arash
la source
la source
Réponses:
De la boîte de dialogue Enregistrer (non autorisé) sur MSDN :
Voir aussi Entrée du blog de Colt Kwong: l'
enregistrement des modifications n'est pas autorisé dans SQL 2008 Management Studio
la source
Utilisez-vous SSMS?
Si oui, accédez au menu Outils >> Options >> Concepteurs et décochez "Empêcher l'enregistrement des modifications nécessitant une recréation de la table"
la source
Plus d'explications
Par défaut, SQL Server Management Studio empêche la suppression des tables, car lorsqu'une table est supprimée, son contenu de données est perdu. *
Lors de la modification du type de données d'une colonne en mode Création de table, lors de l'enregistrement des modifications, la base de données supprime la table en interne, puis en recrée une nouvelle.
* Vos circonstances spécifiques ne poseront pas de conséquence puisque votre table est vide. Je fournis cette explication entièrement pour améliorer votre compréhension de la procédure.
la source
Pour modifier l'option Empêcher l'enregistrement des modifications qui nécessitent l'option de recréation de table, procédez comme suit:
Ouvrez SQL Server Management Studio (SSMS). Dans le menu Outils, cliquez sur Options.
Dans le volet de navigation de la fenêtre Options, cliquez sur Concepteurs.
Activez ou désactivez la case à cocher Empêcher l'enregistrement des modifications qui nécessitent la recréation du tableau, puis cliquez sur OK.
Remarque : Si vous désactivez cette option, vous n'êtes pas averti lorsque vous enregistrez la table que les modifications que vous avez apportées ont modifié la structure des métadonnées de la table. Dans ce cas, une perte de données peut se produire lorsque vous enregistrez la table.
la source
C'est un problème de réglage très facile et simple qui peut être résolu en 5 secondes en suivant ces étapes
Pour vous permettre d'enregistrer les modifications après avoir modifié la table, veuillez suivre ces étapes pour votre paramètre SQL:
la source
Allez sur l' outil situé dans le menu supérieur.
Choisissez les options dans la liste déroulante.Vous avez maintenant une fenêtre contextuelle qui sélectionne l' option Designers située sur le bloc de gauche des menus. Décochez l'option Empêcher l'enregistrement des modifications qui nécessitent une recréation de table . Cliquez sur le bouton OK.
la source
Décochez la
Prevent saving changes that require table re-creation
case Outils ► Options ► onglet Concepteurs .Exemple SQL Server 2012:
la source
Cela peut être modifié facilement dans Microsoft SQL Server .
la source
Copié à partir de ce lien "... Important Nous vous recommandons vivement de ne pas contourner ce problème en désactivant l'option Empêcher l'enregistrement des modifications qui nécessitent une recréation de table. Pour plus d'informations sur les risques de désactiver cette option, consultez la" Plus d'informations "."
"... Pour contourner ce problème, utilisez des instructions Transact-SQL pour apporter les modifications à la structure de métadonnées d'une table. Pour plus d'informations, consultez la rubrique suivante dans la documentation en ligne de SQL Server
Par exemple, pour modifier la colonne MyDate de type datetime dans une table appelée MyTable pour accepter les valeurs NULL, vous pouvez utiliser:
alter table MyTable alter colonne MyDate7 datetime NULL "
la source
Et juste au cas où quelqu'un ici ne ferait pas attention (comme moi):
Pour Microsoft SQL Server 2012, dans la boîte de dialogue des options, il y a une petite case à cocher sournoise qui masque APPAREMMENT tous les autres paramètres. Même si je dois dire que j'ai raté ce petit monstre tout ce temps !!!
Après cela, vous pouvez continuer avec les étapes, concepteur, décochez empêcher l'enregistrement bla bla bla ...
la source
Outils >> Options >> Concepteurs et décochez «Empêcher l'enregistrement des modifications qui nécessitent une recréation de table»:
la source
1) Ouvrez l'outil qui est sur le dessus.
2) Choisissez des options dans la liste de sélection.
3) Vient maintenant la fenêtre contextuelle et vous pouvez maintenant sélectionner l'option des concepteurs dans la liste des menus sur le côté gauche.
4) Désormais, empêcher l'enregistrement des modifications doit être décoché pour recréer la table. Maintenant, cliquez sur OK.
la source
Dans le menu Outils, cliquez sur Options, sélectionnez Concepteurs dans le menu latéral et décochez les modifications qui peuvent entraîner la recréation d'une table. Enregistrez ensuite les modifications
la source
Si vous ne pouvez pas voir les « Prévenir d' enregistrer les modifications qui nécessitent la recréation de table » dans la liste comme l'image
Vous devez activer le suivi des modifications.
la source
Si vous utilisez SQL Server Management Studio, accédez à Outils >> Options >> Concepteurs et décochez "Empêcher l'enregistrement des modifications qui nécessitent une recréation de la table". Cela fonctionne avec moi.
la source