web-dev-qa-db-fra.com

Sql Server 'Erreur' Enregistrer les modifications n'est pas autorisé '

Lorsque je crée une table dans SQL Server et que je l'enregistre, si j'essaie de modifier la conception de la table, comme si je modifiais 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 peuvent pas être recréées, soit activé l'option empêchant 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.

650
Arash

Boîte de dialogue De Enregistrer (non autorisée) sous MSDN

La boîte de dialogue Save (non autorisée) vous avertit que l'enregistrement des modifications est non 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 nullabilité de la colonne
  • Changer l'ordre des colonnes
  • Changer le type de données d'une colonne <<<<

Pour modifier cette option, dans le menu Outils, cliquez sur Options, développez Cliquez sur Designers, puis cliquez sur Designers de tables et de bases de données. Sélectionnez ou désélectionnez Empêcher l'enregistrement des modifications qui nécessitent le tableau recréé case à cocher.

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

1292
Robert Harvey

Utilisez-vous SSMS?

Si oui, allez dans le menu Outils >> Options >> Designers et décochez"Empêcher l'enregistrement des modifications nécessitant la création d'un tableau"

179
ypercubeᵀᴹ

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

Cinq clics rapides 

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

  1. Outils
  2. Options
  3. Designers
  4. Empêcher l'enregistrement des modifications nécessitant la recréation de la table
  5. D'ACCORD.

Après avoir sauvegardé, répétez la procédure pour cocher à nouveau la case. Ceci protège contre la perte accidentelle de données.

Plus d'explications

  • Par défaut, SQL Server Management Studio empêche la suppression de tables car, lorsqu’une table est supprimée, le contenu de ses données est perdu. *

  • Lorsque vous modifiez le type de données d'une colonne dans la vue en mode Création de la table, lors de l'enregistrement des modifications, la base de données supprime la table en interne, puis en crée une nouvelle.

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

64

Pour modifier l'option Empêcher l'enregistrement des modifications nécessitant l'option de recréation de la 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.

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

Note: Si vous désactivez cette option, vous n'êtes pas averti lorsque vous enregistrez la table que les modifications apportées ont modifié la structure de métadonnées de la table. Dans ce cas, vous risquez de perdre des données lorsque vous enregistrez la table.

 enter image description here

22
Tabish Usman

C’est un problème de réglage très simple et facile à résoudre en 5 secondes en suivant ces étapes

Pour vous permettre de sauvegarder 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 les designers 
  4. Décochez l'option "empêcher l'enregistrement des modifications nécessitant la recréation de la table"
  5. Cliquez sur OK
  6. Essayez de modifier votre table
  7. Vos modifications seront effectuées comme vous le souhaitez 
20
Rizwan Gill

Allez sur Outil situé en haut du menu.
Choisissez options dans la liste déroulante.Vous avez maintenant une fenêtre contextuelle sélectionner Designers option située dans le bloc de menus de gauche. Décochez l'option Empêcher l'enregistrement des modifications nécessitant la recréation de la table . Cliquez sur le bouton OK.

17
FIFO BIZSOL

Décochez la case Prevent saving changes that require table re-creation dans Outils ► Options ► Onglet Créateurs

Exemple SQL Server 2012:

 enter image description here

12
pedram

Et juste au cas où quelqu'un ne ferait pas attention non plus (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 APPARENTEMENT 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 passer aux étapes suivantes, concepteur, décochez cette case pour éviter de sauver bla bla bla ...

 sneaky_check_box_in_option

6
Gellie Ann

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 nécessitant la recréation de la table. Pour plus d'informations sur les risques de rotation Pour désactiver cette option, reportez-vous à la section "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, reportez-vous à la rubrique suivante dans de la documentation en ligne de SQL Server

Par exemple, pour modifier la colonne MyDate de type datetime dans une table appelée MyTable afin qu'elle accepte les valeurs NULL, vous pouvez utiliser:

alter table MyTable alter column MyDate7 datetime NULL "

4
Panagiotis

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

 Description in Photos format

Cela peut être changé facilement dans Microsoft SQL Server.

  1. Ouvrez Microsoft SQL Server Management Studio 2008 
  2. Cliquez sur le menu Outils
  3. Cliquez sur Options
  4. Sélectionner les designers
  5. Décochez la case "Empêcher l'enregistrement des modifications nécessitant la recréation de la table".
  6. Cliquez sur OK

 enter image description here

4
Irshad Ahmed

1) Ouvrez l’outil qui se trouve en haut.
2) Choisissez des options dans Liste de choix.
3) La fenêtre contextuelle s'affiche et vous pouvez maintenant sélectionner l'option de création dans la liste des menus sur le côté gauche. 
4) Maintenant, il faut décocher les modifications de sauvegarde qui nécessitent la re-création de la table. Maintenant, cliquez sur OK.

1
Rishabh Seth

Dans le menu Outils, cliquez sur Options, sélectionnez Concepteurs dans le menu latéral, puis décochez-la pour empêcher les modifications pouvant entraîner la reconstitution d'un tableau. Puis enregistrez les modifications

1
Ogbonna Vitalis

Si vous ne pouvez pas voir "Empêcher l'enregistrement des modifications qui requièrent une re-création de table" dans une liste comme celle-ci L'image

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 le suivi des modifications et activez-le.
  • Allez à nouveau Outils -> Options -> Designer et décochez-le.
0

Si vous utilisez SQL Server Server Management Studio, allez à Outils >> Options >> Designers et décochez “Empêcher l'enregistrement des modifications qui nécessitent une re-création de table” Cela fonctionne avec moi 

0
Taher Chtaywi