Question Erreur Sql Server 'L'enregistrement des modifications n'est pas autorisé' ► Empêcher les modifications nécessitant une recréation de table


Lorsque je crée une table dans SQL Server et que je l'enregistre, si j'essaie d'éditer le design de la table, comme changer un type de colonne de int à real, je reçois 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 empêche d'enregistrer les modifications nécessitant que la table soit recréée.

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'à maintenant.


613
2017-07-24 23:22


origine


Réponses:


De Enregistrer (non autorisé) boîte de dialogue sur MSDN :

le sauvegarder La boîte de dialogue (non autorisée) vous avertit que l'enregistrement des modifications est   pas autorisé car les modifications que vous avez apportées nécessitent la liste   tables à supprimer et à recréer.

Les actions suivantes peuvent nécessiter la recréation d'une table:

  • Ajouter une nouvelle colonne au milieu de la table
  • Déposer une colonne
  • Modification de la nullité de la colonne
  • Changer l'ordre des colonnes
  • Changer le type de données d'une colonne <<<<

Pour changer cette option, sur le Outils menu, cliquez sur Options, développer    Designers, puis cliquez sur Concepteurs de tables et de bases de données.   Sélectionnez ou effacez le Empêcher les modifications qui nécessitent que la table soit   recréé case à cocher

Voir également Entrée au blog de Colt Kwong:
L'enregistrement des modifications n'est pas autorisé dans SQL 2008 Management Studio


1212
2017-07-24 23:26



Utilisez-vous SSMS?

Si oui, allez au menu Outils >> Options >> Designers et décochez "Empêcher les modifications nécessitant une recréation de table"


160
2017-07-24 23:27



Empêcher les modifications nécessitant une recréation de table

Cinq clics rapides

Prevent saving changes that require table re-creation in five clicks

  1. Outils
  2. Options
  3. Designers
  4. Empêcher les modifications nécessitant une recréation de table
  5. D'accord.

Après l'enregistrement, répétez la procédure pour cocher la case. Ce garde-fou contre la perte accidentelle de données.

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 est perdu. *

  • Lorsque vous modifiez le type de données d'une colonne dans la vue Création de la table, lorsque vous enregistrez les modifications, la base de données supprime la table en interne, puis en recrée une nouvelle.

* Vos circonstances spécifiques ne poseront aucune conséquence puisque votre table est vide. Je fournis cette explication entièrement pour améliorer votre compréhension de la procédure.


54
2017-07-01 10:42



Pour modifier les modifications d'enregistrement d'empêcher 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 les modifications nécessitant la case à cocher de recréation de table, 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, la perte de données peut se produire lorsque vous enregistrez la table.

enter image description here


20
2018-01-18 10:15



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, procédez comme suit pour votre paramètre sql:

  1. Ouvrez Microsoft SQL Server Management Studio 2008
  2. Cliquez sur Options du menu Outils, puis sur Options
  3. Sélectionner des concepteurs
  4. Décochez l'option "empêcher l'enregistrement des modifications nécessitant une re-création de table"
  5. Cliquez sur OK
  6. Essayez de modifier votre table
  7. Vos modifications seront effectuées comme souhaité

18
2018-01-22 11:03



Continue Outil situé au menu supérieur.
Choisir options à partir de la liste déroulante.Vous avez maintenant un popup sélectionner Designers option située sur le bloc de gauche des menus. Décochez l'option Empêcher les modifications nécessitant une recréation de table. Cliquez sur le bouton OK.


16
2018-04-14 15:39



Désactiver la Prevent saving changes that require table re-creation boîte de Outils ► Options ► Créateurs languette.

Exemple SQL Server 2012:

enter image description here


10
2017-08-27 05:44



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, une petite case à cocher sournoise masque APPAREMMENT tous les autres paramètres. Bien que je dois dire que j'ai raté ce petit monstre tout ce temps !!!

Après cela, vous pouvez continuer avec les étapes, concepteur, décocher d'éviter d'enregistrer bla bla bla ...

sneaky_check_box_in_option


6
2018-03-21 07:47



Copié de ce lien "... Important Nous vous recommandons fortement de ne pas contourner ce problème en désactivant l'option Empêcher les modifications qui nécessitent une recréation de tableau.Pour plus d'informations sur les risques liés à la désactivation de cette option, consultez la section" Plus d'informations ". . ''

"... Pour contourner ce problème, utilisez les instructions Transact-SQL pour apporter les modifications à la structure de métadonnées d'une table Pour plus d'informations, reportez-vous à la rubrique suivante dans 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 la colonne MyDate7 datetime NULL "


3
2017-09-30 05:25



Outils >> Options >> Designers et décochez "Empêcher l'enregistrement des modifications nécessitant une recréation de table":

Description in Photos format


3
2018-02-17 09:56