sql-server - archivos - comparar procedimientos almacenados sql server
No se puede actualizar con la comparaciĆ³n de esquemas (9)
Debe asegurarse de que todas sus variables SQLCMD tengan valores predeterminados.
Haga clic con el botón derecho en el proyecto dentro del Explorador de soluciones y seleccione Propiedades.
En la pestaña de la izquierda, vaya a Variables SQLCMD e ingrese los valores predeterminados en la columna provista.
Después de ejecutar su esquema, compare otro momento, el botón de actualización ahora debería estar disponible.
Hasta hoy, pude usar la función de comparación de esquemas en Visual Studio 2012 para actualizar una base de datos desde un proyecto de base de datos. Pero ahora, para un proyecto puedo hacer la comparación, pero el botón de actualización está deshabilitado.
Puedo usar otros proyectos para actualizar otra base de datos, pero a partir de este proyecto no puedo actualizar ninguna base de datos. No recibo ningún error, la funcionalidad no está disponible.
El uso de publicar todavía funciona. También actualizar el proyecto desde la base de datos funciona, pero no al revés.
¿Alguien sabe por qué no podría actualizar una base de datos a través de Schema Compare?
Debe comprobar los usuarios de la base de datos y el esquema de la base de datos. A menudo, si los usuarios de la base de datos no se replican correctamente en DB Project, Schema Compare no funciona.
El esquema no solo tiene que estar en el proyecto de la base de datos, sino que debe mantenerse actualizado si cambia en la base de datos. Las actualizaciones dejaron de funcionar después de que el DBA otorgó un permiso exec a un nuevo inicio de sesión de SQL en la base de datos en un esquema que estaba en mi proyecto. Después de varias fallas para que cualquier cambio de procedimiento almacenado se aplicara a mi proyecto, actualicé el proyecto, seleccionando solo el esquema que había cambiado. Después de actualizar el esquema en el proyecto de la base de datos, la Actualización comenzó a funcionar nuevamente. Incluyo el esquema en todas las actualizaciones. Espero que esto ayude.
En mi caso, el problema era que había instalado una versión más nueva de SQL Server y SSMS (2016). Siempre debe asegurarse de que tiene instalada la versión correcta de Sql Server Data Tools para que coincida con la versión con la que está comparando. Aquí está el enlace a SSDT para SQL Server 2005-2017 que verifiqué al trabajar con Visual Studio 2017:
https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017
Lo que funcionó para mí fue incluir el esquema. Estaba seleccionando incluir solo ciertas tablas / procs, etc. Si el esquema que contiene las tablas y los procedimientos no está marcado también, la importación no incluye los elementos.
Me encontré con el mismo problema. Como se mencionó anteriormente, la Lista de errores normal de Visual Studio mostrará una lista de los errores que bloquean la actualización ... pero, además, también habrá advertencias. Una de las opciones que está habilitada de forma predeterminada es que la pérdida de datos bloquea la actualización . Ese es el problema. Aunque solo es una condición de advertencia, cualquier posible pérdida de datos es funcionalmente un error a menos que cambie esta marca.
Imho, esto es un fallo de IU bastante grave por parte de MS, pero ¿qué vas a hacer?
Para mí, el panel de lista de errores y el panel de salida no mostraban nada en Visual Studio 2015. Solo después de compilar el proyecto de base de datos al que me dirigía, pude ver los errores en el panel de salida (pero aún no en el panel de lista de errores ). Después de corregir estos errores, el botón Actualizar ya no estaba atenuado.
Para mí, he cambiado el orden de las tablas que se agregan. Si hay alguna relación entre dos tablas, debe agregar la tabla principal y luego una dependiente a la base de datos.
Revise la parte inferior de la pantalla después de una comparación que muestra mensajes de estado allí. He visto este problema si hay un error de compilación en el proyecto de base de datos. Una vez resuelto el error, cierre y vuelva a abrir el cuadro de diálogo de comparación. Vuelva a ejecutar su comparación y el botón Actualizar debería estar disponible nuevamente.