MS SQL ne peut pas enregistrer après le changement de table: l'enregistrement des modifications n'est pas autorisé...
Lorsque j'essaye de modifier un type de données de ma table, j'obtiens cet horrible message de SQL Management Studion: "L'enregistrement des modifications n'est pas autorisé. Les modifications que vous avez apportées nécessitent que les tables suivantes soient supprimées et recréées". J'ai déjà essayé de faire la modification par T-SQL et cela a fonctionné, mais pourquoi ne puis-je pas le faire simplement en mode conception? J'utilise SQL Server 2008 R2. 1 Il y a une réponse ici: Les modifications apportées à la structure de table doivent être scriptées et enregistrées dans le contrôle de code source comme tout autre code. N'utilisez jamais le concepteur pour cela. Alter table ne nécessite pas que la table soit supprimée et recréée, contrairement au concepteur. Je vous suggère fortement d'utiliser T-SQL pour apporter des modifications, ou à tout le moins, prévisualiser les scripts que les concepteurs génèrent avant de les valider.
Sql Server L Enregistrement Des Modifications N Est Pas Autorisé Des
Cliquez avec le bouton droit sur la table, puis cliquez sur Propriétés. Dans la boîte de dialogue Propriétés de la table, cliquez sur Suivi des modifications. Si la valeur de l'élément de suivi des modifications est True, cette option est activée pour la table. Si la valeur est False, cette option est désactivée. Lorsque la fonction Change Tracking est activée, utilisez les instructions Transact-SQL pour modifier la structure des métadonnées de la table. Étapes pour reproduire le problème
Dans SQL Server Management Studio, créez une table contenant une clé primaire dans l'outil Concepteur de table. Cliquez avec le bouton droit sur la base de données qui contient cette table, puis cliquez sur Propriétés. Dans la boîte de dialogue Propriétés de la base de données, cliquez sur Suivi des modifications. Définissez la valeur de l'élément de suivi des modifications sur True, puis cliquez sur OK. Dans la boîte de dialogue Propriétés de la table, cliquez sur Suivi des modifications. Dans la boîte de dialogue Options, cliquez sur Concepteurs.
Sql Server L Enregistrement Des Modifications N Est Pas Autorisé Un
Par exemple, pour modifier 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
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 ". Plus d'informations
Pour modifier l'option Empêcher l'enregistrement des modifications nécessitant la recréation de table, procédez comme suit:
Ouvrez SQL Server Management Studio. Dans le menu Outils, cliquez sur Options. Dans le volet de navigation de la fenêtre Options, cliquez sur Concepteurs. 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 les modifications que vous avez apportées ont modifié la structure des métadonnées de la table.
Sql Server L Enregistrement Des Modifications N Est Pas Autorisé Et
2) Choisissez les options de la liste de sélection. 3) Maintenant Vient le popup et vous pouvez maintenant sélectionner l'option designers dans la liste des menus sur le côté gauche. 4) Désactivez maintenant que les modifications d'enregistrement doivent être décochées, ce qui nécessite une recréation de table. Maintenant, cliquez sur OK. Dans le menu Outils, cliquez sur Options, sélectionnez Designers dans le menu latéral et décochez les modifications pouvant entraîner la reconstitution d'une table. Enregistrez ensuite les modifications
Si vous ne pouvez pas voir "Empêcher l'enregistrement des modifications nécessitant une recréation de table" dans la liste comme celle-ci
Vous devez activer le suivi des modifications. Faites un clic droit sur votre firebase database et cliquez sur Propriétés
Cliquez sur le suivi des modifications et activez-le
Allez à nouveau dans Outils -> Options -> Designer et décochez-la. Si vous utilisez SQL Server Management Studio, allez dans Outils >> Options >> Designers et décochez "Empêcher l'enregistrement des modifications nécessitant une recréation de table".
Sql Server L Enregistrement Des Modifications N Est Pas Autorisé Le
Par exemple, supposons que vous activez la fonctionnalité "suivi des modifications" dans SQL Server 2008 pour suivre les modifications apportées à la table. Lorsque vous effectuez une opération causant une re-création de la table, vous recevez le message d'erreur mentionné dans la section « Symptômes ». Toutefois, si vous désactivez cette option, le suivi des informations de modifications existant est supprimé lorsque la table est recréée. Par conséquent, nous recommandons que vous n'utilisez pas ce problème en désactivant l'option. Pour déterminer si la fonctionnalité suivi des modifications est activée pour une table, procédez comme suit:
Dans SQL Server Management Studio, localisez la table dans l'Explorateur d'objets. Avec le bouton droit de la table, puis cliquez sur Propriétés. Dans la boîte de dialogue Propriétés du tableau, cliquez sur Suivi des modifications. Si la valeur de l'élément Suivi des modifications est True, cette option est activée pour la table. Si la valeur est False, cette option est désactivée.
Sql Server L Enregistrement Des Modifications N Est Pas Autorisé La
Les actions suivantes peuvent nécessiter la recréation d'une table:
Ajout d'une nouvelle colonne au milieu du tableau
Déposer une colonne
Modification de la nullité des colonnes
Changer l'ordre des colonnes
Modification du type de données d'une colonne <<<<
Pour modifier cette option, sur l'écran Outils cliquez sur Options, développer Designers puis cliquez sur Concepteurs de tableaux et de bases de données. Sélectionnez ou effacez le Empêcher l'enregistrement des modifications qui nécessitent que la table soit recréée la case à cocher. Voir aussi Entrée du blog de Colt Kwong: La sauvegarde des modifications n'est pas autorisée dans SQL 2008 Management Studio
Répondu
el 24 de Juillet, 2011
par
Robert Harvey
( 103562 Points)
Utilisez-vous SSMS? Si oui, allez dans le menu Outils >> Options >> Concepteurs et décochez "Empêcher les changements d'enregistrement qui nécessitent la recréation d'une table"
ypercube
( 62714 Points)
Empêcher la sauvegarde des modifications qui nécessitent la recréation d'une table Cinq clics rapides
Outils
Options
Designers
Empêcher la sauvegarde des modifications qui nécessitent la recréation d'une table
OK.
La plupart des autorisations de cette application ne peuvent pas être contrôlées dans Paramètres > Confidentialité. Notez que même si l'application a la possibilité d'accéder à ces ressources, elle ne le fera peut-être pas. Pour plus d'informations sur ce que l'application collecte ou utilise, examinez la politique de confidentialité du développeur. Informations sur le compte: Accédez à vos informations de compte. Autoriser l'élévation: Permet à l'application de s'exécuter avec des privilèges d'administrateur sans être invité au premier abord par l'utilisateur. Diagnostics d'application: Obtenez des informations de diagnostic sur d'autres applications en cours d'exécution. Bluetooth: Activez et utilisez les connexions Bluetooth connexions entre votre appareil et d'autres appareils. Calendrier: Accédez à vos calendriers. Historique des appels: Accédez à l'historique des appels téléphoniques que vous avez effectués sur l'appareil, Skype d'autres applications téléphoniques. Contacts: Accédez à vos applications de contacts, de contacts ou de carnets d'adresses.