Erreur SQL Server 'L'enregistrement des modifications n'est pas autorisé' ► empêcher l'enregistrement des 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 la conception de la table, comme changer un type de colonne de int à real, j'obtiens cette erreur:

L'enregistrement des modifications n'est pas autorisé. La modification que vous avez effectuée nécessite que la table suivante soit supprimée et recréée. Vous avez apporté des modifications à une table qui ne peut pas être recréée ou activé l'option Empêcher l'enregistrement des modifications nécessitant la recréation de la table.

Pourquoi dois-je recréer la table? Je 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.

624
demandé sur Brian Tompsett - 汤莱恩 2011-07-25 03:22:17

14 réponses

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

La boîte de dialogue Save (NON AUTORISÉE) Vous avertit que l'enregistrement des modifications est non autorisé parce que 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:

  • Ajout d'une nouvelle colonne au milieu de la table
  • suppression d'une colonne
  • Modification de la nullité de colonne
  • Modification de l'ordre des colonnes
  • Changer le type de données d'une colonne

Pour modifier cette option, dans le Outils du menu, cliquez sur Options, développez concepteurs , puis cliquez sur concepteurs de tables et de bases de données . Sélectionnez ou désactivez le empêcher l'enregistrement des modifications qui nécessitent que la table soit case à cocher recréée.

Voir Aussi Colt Kwong blog entrée:
L'enregistrement des modifications n'est pas autorisé dans SQL 2008 Management Studio

1249
répondu Robert Harvey 2015-03-20 08:28:09

Utilisez-vous SSMS?

Si oui, allez dans le menu Outils > > Options > > Designers et décochez "empêcher L'enregistrement des modifications nécessitant une recréation de table"

171
répondu ypercubeᵀᴹ 2016-05-23 19:48:52

Empêcher l'enregistrement des modifications nécessitant une recréation de table

Cinq clics rapides

Empêcher l'enregistrement des modifications nécessitant une recréation de table en cinq clics

  1. Outils de
  2. Options
  3. les Concepteurs
  4. empêcher l'enregistrement des modifications nécessitant une recréation de table
  5. OK .

Après l'enregistrement, répétez la procédure pour re-cocher la case. Ce coffre-fort-protège contre les données accidentelles perte.

De Plus amples explications

  • Par défaut, SQL Server Management Studio empêche la suppression de 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 dans la vue de conception 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 fournissez cette explication entièrement pour améliorer votre compréhension de la procédure.

60
répondu Knickerless-Noggins 2017-06-06 12:55:58

Pour modifier L'option Empêcher l'enregistrement des modifications nécessitant 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 Designers.

Cochez ou décochez la case Empêcher l'enregistrement des modifications nécessitant la recréation de la table, puis cliquez sur OK.

Remarque : si vous désactivez cette option, vous n'êtes pas averti lorsque vous enregistrez la table que le 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.

entrez la description de l'image ici

22
répondu Tabish Usman 2016-08-29 10:41:05

C'est un problème de réglage très facile et simple qui peut être corrigé 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:

  1. ouvrez Microsoft SQL Server Management Studio 2008
  2. Cliquez sur Options du menu Outils, puis sur Options
  3. Sélectionner Les Concepteurs
  4. décochez l'option" Empêcher l'enregistrement des modifications nécessitant une recréation de table "
  5. Cliquez sur OK
  6. Essayez de modifier votre tableau
  7. vos modifications seront effectuées comme vous le souhaitez
19
répondu Rizwan Gill 2014-01-22 11:03:46

Aller sur Outil situé dans le menu supérieur.
Choisissez options dans la liste déroulante.Vous avez un popup maintenant Sélectionnez Designers option située sur le bloc de gauche des menus. Décochez l'option Empêcher l'enregistrement des modifications nécessitant une recréation de table . Cliquez sur le Bouton OK.

17
répondu FIFO BIZSOL 2013-04-22 09:11:59

Décochez le Prevent saving changes that require table re-creation boîte de Outils ► Options ► les Concepteurs onglet.

Exemple SQL Server 2012:

entrez la description de l'image ici

12
répondu pedram 2017-06-06 09:31:05

Et juste au cas où quelqu'un ici ne prête pas attention (comme moi):

Pour Microsoft SQL Server 2012, dans la boîte de dialogue options, il y a une petite case à cocher sournoise qui cache apparemment tous les autres paramètres. Même si je dois dire que j'ai manqué ce petit monstre tout ce temps!!!

Après cela, vous pouvez procéder aux étapes, designer, décocher empêcher l'enregistrement bla bla bla...

sneaky_check_box_in_option

6
répondu Gellie Ann 2016-03-21 07:47:19

Outils > > Options > > concepteurs et décochez "empêcher L'enregistrement des modifications nécessitant une recréation de table":

Description au format Photos

4
répondu سیدرسول میرعظیمی 2018-02-22 10:09:20

Copié à partir de ce lien " ... Important nous vous recommandons fortement de ne pas contourner ce problème en désactivant L'option Empêcher l'enregistrement des modifications nécessitant une recréation de table. 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 des métadonnées d'une table. Pour plus d'informations, reportez-vous à la rubrique suivante dans livres SQL Server En Ligne

Par exemple, pour changer la colonne MyDate de type datetime dans la table at appelée MyTable pour accepter des valeurs nulles, vous pouvez utiliser:

Alter table MyTable alter column mydate7 datetime NULL "

3
répondu Panagiotis 2015-09-30 05:41:59

1) Ouvrir l'outil qui est sur le dessus.
2) Choisissez les options de la liste de sélection.
3) vient maintenant le popup et vous pouvez maintenant sélectionner l'option designers dans la liste des menus sur le côté gauche.
4) Maintenant, empêcher l'enregistrement des modifications doivent être décochées que la recréation de la table nécessaire. Cliquez maintenant sur OK.

1
répondu Rishabh Seth 2015-12-18 10:54:25

Dans le menu Outils, cliquez sur Options, sélectionnez Designers dans le menu latéral et décochez empêcher les modifications qui peuvent conduire à la recréation d'une table. Puis enregistrez les modifications

1
répondu Ogbonna Vitalis 2017-08-27 12:06:30

Si vous ne pouvez pas voir le" empêcher l'enregistrement des modifications qui ont nécessité la recréation de la table " dans la liste comme ça L'image de

Vous devez activer le suivi des modifications.

  • Faites un clic droit sur votre base de données et cliquez sur Propriétés
  • Cliquez sur Modifier le suivi et activez-le
  • allez à nouveau Outils - > Options - > Designer et décochez-le.
0
répondu Emre Karataşoğlu 2018-05-14 15:51:15

Si vous utilisez sql server Management studio, accédez à Outils > > Options > > concepteurs et décochez " empêcher L'enregistrement des modifications nécessitant une recréation de table" Cela fonctionne avec moi

0
répondu Taher Chtaywi 2018-08-09 11:24:34