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.
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
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"
Empêcher l'enregistrement des modifications nécessitant une recréation de table
Cinq clics rapides
- Outils de
- Options
- les Concepteurs
- empêcher l'enregistrement des modifications nécessitant une recréation de table
- 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.
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.
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:
- ouvrez Microsoft SQL Server Management Studio 2008
- Cliquez sur Options du menu Outils, puis sur Options
- Sélectionner Les Concepteurs
- décochez l'option" Empêcher l'enregistrement des modifications nécessitant une recréation de table "
- Cliquez sur OK
- Essayez de modifier votre tableau
- vos modifications seront effectuées comme vous le souhaitez
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.
Décochez le Prevent saving changes that require table re-creation
boîte de Outils ► Options ► les Concepteurs onglet.
Exemple SQL Server 2012:
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...
Outils > > Options > > concepteurs et décochez "empêcher L'enregistrement des modifications nécessitant une recréation de table":
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 "
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.
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
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.
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