visual tools studio para intelligence for development descargar data business sql-server visual-studio-2015 visual-studio-2017

sql server - tools - Error de comparación de esquema SQL "El destino no está disponible"



sql server data tools visual studio 2012 (14)

Al comparar un proyecto SQLServer en Visual Studio 2015 Update 2 con una base de datos SQL Server 2012, muestra el error "El destino no está disponible" o "El origen no está disponible" cuando cambia la dirección.

Solía ​​funcionar correctamente hace un par de meses. ¿Hay algún trabajo alrededor? No pude encontrar ninguno.


Descubrí que el uso de username @ servername como nombre de usuario para conectarse solucionará el problema cuando ocurra en las bases de datos de Azure. He tenido conexiones que históricamente han funcionado sin que esto se detenga de repente y luego esto me lo solucionó.

Por ejemplo, cuando utilizo un inicio de sesión de mylogin y me conecto a myserver.database.windows.net , si en cambio uso [email protected] como nombre de usuario, no obtendré el problema "La fuente no está disponible".


Después de probar muchas sugerencias diferentes, esto es lo que funcionó para mí.

  • Depende de lo que no está disponible, fuente u objetivo. Seleccione claro origen / destino.
  • Guardar cambios en el archivo
  • Vuelva a abrir el archivo y seleccione una nueva conexión nuevamente (en mi caso, la base de datos de Azure)
  • Haga clic en Comparar nuevamente, ahora funciona.

Después de probar todo aquí, esto es lo que funcionó para mí:

  1. Cerrar instancia VS.

  2. Eliminar las claves de conexión guardadas en

HKEY_CURRENT_USER / SOFTWARE / Microsoft / VisualStudio / 14.0 / ConnectionMruList

  1. Vuelva a abrir VS e intente nuevamente.


En realidad, tuve el mismo problema en VS studio 2015. Pero como la base de datos estaba en mi PC, estaba usando localhost en lugar del nombre real de la computadora. Simplemente seleccioné el servidor de la computadora como en la propuesta de Visual Studio y funcionó.


He tenido resultados mixtos con las otras respuestas aquí. Estaba usando un archivo de comparación de guardado que otro desarrollador había reunido. Este es un servidor SQL independiente y no una base de datos azul. La comparación funcionaría algunas veces y no otras (dar el objetivo es un error no disponible). En mi caso, la comparación guardada solo usaba el nombre del servidor y no un FQDN. Cuando cambié a un FQDN funcionó para mí. No estoy seguro de si el problema volverá a aparecer, pero pensé que agregaría esta información en caso de que sea útil para otros.


Intenté en 2015 la versión Visual Studio Professional y obtuve este problema en el momento de la comparación de datos SQL y funcionó para mí cuando uso el nombre de host en lugar de la dirección IP de las bases de datos. Espero que esto aborde el problema.


Las otras respuestas no funcionaron para mí, ya que estaba usando SQL Server directamente y no Azure, pero después de verificar las propiedades avanzadas de la cadena de conexión, vi que la autenticación estaba configurada en "No especificado" y la Biblioteca de red estaba vacía.

Los cambié y funcionó de nuevo. Bastante extraño ya que me permitió seleccionar la base de datos para la conexión. Simplemente no me dejaba comparar esquemas que daban el mencionado mensaje "La fuente no está disponible".


Me refería al servidor SQL a través de IP y me dio este problema. Me referí a él a través de su nombre DNS y el problema se resolvió.

¡No estoy seguro de por qué! Sin embargo, funcionó así :)


Para mí, fue el símbolo / al final de la dirección IP del server name en el campo del server name del server name que lo solucionó. Muy extraño.

por ejemplo, en lugar de 10.10.10.10 escribo 10.10.10.10/ y se conecta bien.

Nota: estoy usando Visual Studio 2017.


Puedo hacer que funcione cuando hago clic derecho en el nombre de la base de datos en la ventana del Explorador de objetos de SQL Server y selecciono Schema Compare desde allí. Si intento usar la ventana Comparar esquemas que se abre desde el menú Herramientas, nunca funciona.


Recibo este error en Visual Studio 2017 cuando uso la autenticación de SQL Server pero no guardo la contraseña. He probado estos pasos con Visual Studio 15.6.3 y SQL Server 12.0.5000.0

Arreglando el error

Esto soluciona el problema, pero el problema vuelve la próxima vez que reinicio Visual Studio.

  1. Vaya a Herramientas -> SQL Server -> Nueva comparación de esquemas ...
  2. Seleccione Seleccionar origen o Seleccionar destino
  3. Seleccionar Seleccionar conexión
  4. En Conexiones recientes , encuentre todas las conexiones que le dieron este error
  5. Para cada uno de estos, haga clic con el botón derecho en la conexión y seleccione Eliminar del historial
  6. Reiniciar Visual Studio

Evitar que el error regrese

  1. Completa la reparación del error anterior
  2. Cuando configure los detalles de conexión, marque la casilla Recordar contraseña .

Reproduciendo el error

Si desea solucionar este error, así es como logré reproducirlo.

  1. Vaya a Herramientas -> SQL Server -> Nueva comparación de esquemas ...
  2. Seleccione una conexión de origen y destino
  3. Para al menos una conexión, use la autenticación de SQL Server pero no seleccione Recordar contraseña
  4. Presione Comparar
  5. Asegúrese de que funcione sin errores
  6. Reiniciar Visual Studio
  7. Repita los pasos 1-4, usando exactamente los mismos detalles de conexión

Tuve este error al abrir un archivo .scmp previamente guardado que funcionó correctamente cuando se creó inicialmente.

El problema fue causado por la falta de contraseña en la cadena de conexión guardada. La fuente usó autenticación integrada, por lo que VS no se quejaba de eso.

Seleccionar la conexión de destino nuevamente no ayudó, probablemente porque VS usó la cadena de conexión en caché.

Resolví el problema agregando el argumento Password en la cadena de conexión en el archivo. Hay dos ubicaciones donde se especifica la cadena de conexión de destino (XPaths se muestra a continuación):

  • /SchemaComparison/TargetModelProvider/ConnectionBasedModelProvider/ConnectionString
  • /SchemaComparison/SchemaCompareSettingsService/ConfigurationOptionsElement/PropertyElementName[Name=''TargetConnectionString'']

Después de estas ediciones, volví a abrir el archivo .scmp y la comparación se ejecutó correctamente.


Un proceso estaba bloqueando la base de datos. Después de ejecutar un kill [spid] funcionó de nuevo.