Home

Mensaje de error cuando intenta guardar una tabla en SQL Server: "No está permitido guardar los cambios"

webmaster's picture

Cuando utiliza el lenguaje de definición de datos (DDL) para modificar una tabla y, a continuación, intenta guardar la tabla en Microsoft SQL Server 2008, puede aparecer el siguiente mensaje:

No se permite guardar los cambios. Los cambios que haya realizado, requieren las siguientes tablas se borren y se vuelvan a crear. Quizá ha realizado cambios en una tabla que no se puede volver a crear o habilitado la opción impedir guardar cambios que requieran volver a crear la tabla.

Este problema se produce cuando está habilitada la opción impedir guardar cambios que requieren la creación de la tabla y realizar uno o más de los siguientes cambios en la tabla:

  •     Cambiar la configuración de Permitir valores NULL de una columna.
  •     Reordenar las columnas de la tabla.
  •     Cambiar el tipo de datos de la columna.
  •     Agregar una nueva columna.

Cuando cambia una tabla para que alterar la estructura de metadatos de la tabla y, a continuación, guardar la tabla, la tabla se debe volver a crear en función de estos cambios. Esto puede provocar la pérdida de metadatos y una pérdida directa de datos durante la recreación de la tabla. Si habilita la opción impedir guardar cambios que requieren la creación de la tabla en la sección de Diseño de la ventana Opciones de SQL Server Management Studio (SSMS), recibirá el mensaje de error

Para evitar este problema, utilice las instrucciones de Transact-SQL para realizar los cambios en la estructura de una tabla de metadatos. Para obtener información adicional, consulte el siguiente tema en los libros en pantalla de SQL Server:

Libros en Pantalla de SQl Server

Por ejemplo: Para cambiar la columna MyDate de tipo datetime en tabla llamada MyTable que acepta valores NULL que puede utilizar:

alter table MyTable alter column MyDate7 datetime NULL

Importante: Se recomienda encarecidamente que no solucionar temporalmente este problema desactivando la opción impedir guardar cambios que requieran volver a crear tablas . Para obtener más información acerca de los riesgos de desactivar esta opción.

Para cambiar la opción impedir guardar cambios que requieren la creación de la tabla , siga estos pasos:

  •     Abra SQL Server Management Studio (SSMS).
  •     En el menú Herramientas , haga clic en Opciones.
  •     En el panel de navegación de la ventana de Opciones , haga clic en los diseñadores.
  •     Seleccione o desactive la casilla de verificación impedir guardar cambios que requieren la creación de la tabla y, a continuación, haga clic en Aceptar.

Nota Si deshabilita esta opción, no se le advertirá al guardar la tabla los cambios que ha realizado han cambiado la estructura de metadatos de la tabla. En este caso, puede producirse pérdida de datos al guardar la tabla.

Riesgo de desactivar la opción "Impedir guardar cambios que requieran volver a crear tablas"

Aunque si desactiva esta opción puede ayudarle a evitar volver a crear una tabla, también puede conducir a que los cambios se pierdan. Por ejemplo, supongamos que habilite la característica de seguimiento de cambios en SQL Server 2008 para realizar un seguimiento de los cambios a la tabla. Al realizar una operación que hace que la tabla se vuelva a crear, recibirá el mensaje de error que se menciona en el título. Sin embargo, si desactiva esta opción, se eliminan la información de seguimiento de cambios existentes cuando se vuelve a crear la tabla. Por lo tanto, se recomienda que no solucionar temporalmente este problema desactivando la opción.

Para determinar si está habilitada la característica de seguimiento de cambios para una tabla, siga estos pasos:

  1. En SQL Server Management Studio, busque la tabla en el Explorador de objetos.
  2. Haga clic en la tabla y, a continuación, haga clic en Propiedades.
  3. En el cuadro de diálogo Propiedades de la tabla , haga clic en Change Tracking.

Si el valor del elemento de Seguimiento de cambios es True, esta opción está habilitada para la tabla. Si el valor es False, esta opción está deshabilitada.

Cuando está habilitada la característica de seguimiento de cambio, utilice las instrucciones de Transact-SQL para cambiar la estructura de metadatos de la tabla.

Riesgo de desactivar la opción "Impedir guardar cambios que requieran volver a crear tablas"

  1. En SQL Server Management Studio, cree una tabla que contiene una clave principal de la herramienta del Diseñador de tablas.
  2. Haga clic en la base de datos que contiene esta tabla y, a continuación, haga clic en Propiedades.
  3. En el cuadro de diálogo Propiedades de la base de datos , haga clic en Change Tracking.
  4. Establezca el valor del elemento de Seguimiento de cambios en Truey, a continuación, haga clic en Aceptar.
  5. Haga clic en la tabla y, a continuación, haga clic en Propiedades.
  6. En el cuadro de diálogo Propiedades de la tabla , haga clic en Change Tracking.
  7. Establezca el valor del elemento de Seguimiento de cambios en Truey, a continuación, haga clic en Aceptar.
  8. En el menú Herramientas , haga clic en Opciones.
  9. En el cuadro de diálogo Opciones , haga clic en los diseñadores.
  10. Haga clic para activar la casilla de verificación impedir guardar cambios que requieran volver a crear tablas y, a continuación, haga clic en Aceptar.
  11. En la herramienta del Diseñador de tablas, cambiar la configuración de Permitir valores NULL en una columna existente.
  12. Intente guardar el cambio en la tabla.
Contacto: 
webmaster