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

Seleccione idioma Seleccione idioma
Id. de artículo: 956176 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Al utilizar 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 recibir el siguiente mensaje:
No se permite guardar los cambios. Los cambios que ha realizado requieren las siguientes tablas se eliminan y se vuelve a crear. Se ha realizado cambios en una tabla que no se puede volver a crearse o habilitado la opción impedir guardar cambios que requieren la tabla a puede volver a crear.

Causa

Este problema se produce cuando el Impedir guardar cambios que requieran volver a crear la tablas está habilitada, y realizar uno o varios de los siguientes cambios en la tabla:
  • Cambia el Permitir valores nulos configuración de una columna.
  • Reordenar las columnas de la tabla.
  • Cambiar el tipo de datos de columna.
  • Agregar una nueva columna.
Cuando se cambia una tabla de tal manera que se modifica su estructura de metadatos y, a continuación, se guarda la tabla, la tabla debe volverse a crear en base a dichos 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 Impedir guardar cambios que requieran volver a crear la tablas la opción en el Diseñador sección de la Opciones de SQL Server Management Studio (SSMS) ventana, recibirá el mensaje de error que se menciona en la sección "Síntomas".

Solución

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

http://msdn.Microsoft.com/en-us/library/ms190273.aspx

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

alter table MyTable alter column MyDate7 datetime NULL

Importante: Se recomienda encarecidamente no solucionar temporalmente este problema desactivando la opción Impedir guardar cambios que requieren volver a crear tablas . Para obtener más información acerca de los riesgos de la desactivación de esta opción, consulte la sección "Más información".

Estado

Microsoft ha confirmado que éste es un error en los productos de Microsoft enumerados en la sección "Se refiere a:".

Más información

Para cambiar el Impedir guardar cambios que requieran volver a crear la tablas la opción, siga estos pasos:
  1. Abra SQL Server Management Studio (SSMS).
  2. En el Herramientas menú, haga clic en Opciones de.
  3. En el panel de exploración de la Opciones de ventana, haga clic en Diseñadores.
  4. Active o desactive la Impedir guardar cambios que requieran volver a crear la tablas casilla de verificación y, a continuación, haga clic en ACEPTAR.
Nota Si deshabilita esta opción, no se le advertirá cuando guarde la tabla que los cambios realizados 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 ayudar a evitar volver a crear una tabla, también puede dar lugar a cambios que se pierdan. Por ejemplo, supongamos que habilita la característica de seguimiento de cambios en SQL Server 2008 para realizar el seguimiento de cambios a la tabla. Al realizar una operación que hace que la tabla volver a crearse, recibirá el mensaje de error que se menciona en la sección "Síntomas". 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 instrucciones de Transact-SQL para cambiar la estructura de metadatos de la tabla.

Pasos para reproducir el problema

  1. En SQL Server Management Studio, cree una tabla que contiene una clave principal en la herramienta de 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 Propiedades de base de datos cuadro de diálogo, haga clic en Seguimiento de cambios.
  4. Establecer el valor de la Seguimiento de cambios elemento a Es 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 Propiedades de la tabla cuadro de diálogo, haga clic en Seguimiento de cambios.
  7. Establecer el valor de la Seguimiento de cambios elemento a Es truey, a continuación, haga clic en ACEPTAR.
  8. En el Herramientas menú, haga clic en Opciones de.
  9. En el Opciones de cuadro de diálogo, haga clic en Diseñadores.
  10. Haga clic para seleccionar la Impedir guardar cambios que requieran volver a crear tablas casilla de verificación y, a continuación, haga clic en ACEPTAR.
  11. En la herramienta de diseñador de tablas, cambiar el Permitir valores nulos configuración de una columna existente.
  12. Intente guardar el cambio en la tabla.

Propiedades

Id. de artículo: 956176 - Última revisión: domingo, 02 de junio de 2013 - Versión: 7.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Palabras clave: 
kbtshoot kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 956176

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com