Creé una base de datos de muestra usando SQL Server 2014 Express y la agregué a mi solución de Windows Form. Cuando hago doble clic en él para abrir, aparece este error.
La base de datos no se puede abrir porque es la versión 782. Este servidor admite la versión 706 y anteriores. No se admite una ruta de degradación
Estoy usando Visual Studio 2013. Realmente no entiendo que estoy usando las dos últimas versiones de productos de Microsoft y son incompatibles. ¿Me estoy perdiendo de algo? ¿Cómo puedo abrir esta base de datos?
sql-server
visual-studio
Omer K
fuente
fuente
AttachDBFileName
). Suponiendo que la base de datos ya está adjunta a su.\SQLEXPRESS
instancia local , simplemente cambie las cadenas de conexión para que apunten a ese servidor (Data Source=.\SQLEXPRESS;Initial Catalog=OMERDENEME;...
) y deje de usarAttachDBFileName
.Respuestas:
Intente cambiar Tools> Options> Database Tools> Data Connections> SQL Server Instance Name.
El valor predeterminado para VS2013 es
(LocalDB)\v11.0
.Cambiar a
(LocalDB)\MSSQLLocalDB
, por ejemplo, parece funcionar, no más error de la versión 782.fuente
(LocalDB)\v11.0
. Cambiar el nombre del servidor para(LocalDB)\MSSQLLocalDB
hacer desaparecer ese error sobre la versión #.Intenta cambiar el nivel de compatibilidad , funcionó para mí.
Verifica que nivel es
USE VJ_DATABASE; GO SELECT compatibility_level FROM sys.databases WHERE name = 'VJ_DATABASE'; GO
Luego hazlo compatible con la versión anterior
ALTER DATABASE VJ_DATABASE SET COMPATIBILITY_LEVEL = 110; GO
De forma predeterminada, Sql Server 2014 cambiará la compatibilidad de las versiones de la base de datos a solo 2014, usando el
@@ version
debería poder saber qué versión de Sql Server es.Luego ejecute el comando de arriba para cambiar la versión que tiene.
Paso adicional: asegúrese de que mira que la accesibilidad de la base de datos no se restablece, haga esto haciendo clic derecho en las propiedades de la carpeta y la base de datos. (asegúrese de tener derechos para que no se le niegue el acceso)
fuente
Para mí, el uso de la solución proporcionada por codedom no funcionó. Aquí solo podemos cambiar la versión de compatibilidad de la base de datos existente.
Pero el problema real radica en que la versión de la base de datos interna no coincide debido a cambios en el formato de almacenamiento.
Consulte más detalles sobre la versión de SQL Server y su versión de base de datos interna y el nivel de compatibilidad de base de datos aquí. Por lo tanto, sería bueno que creara su base de datos utilizando la versión de SQL Server 2012 Express o una inferior. O comience a usar Visual Studio 2015 Preview.
fuente
Esta solución resuelve mi problema: (de: https://msdn.microsoft.com/en-us/library/ms239722.aspx )
Para adjuntar permanentemente un archivo de base de datos (.mdf) desde el nodo Conexiones de datos
Abra el menú de acceso directo para Conexiones de datos y elija Agregar nueva conexión.
La Agregar Aparece el cuadro de diálogo Conexión.
Elija el botón Cambiar .
El origen de datos Cambio Aparece el cuadro de diálogo.
Seleccione Microsoft SQL Server y elija el botón Aceptar .
Los Agregar conexión vuelve a aparecer el cuadro de diálogo, con Microsoft SQL Server (SqlClient) que aparecen en el origen de datos cuadro de texto.
En el cuadro Nombre del servidor, escriba o busque la ruta a la instancia local de SQL Server. Puede escribir lo siguiente:
Para obtener información sobre SQL Server Express LocalDB y SQL Server Express, consulte Descripción general de datos locales .
Seleccione Usar autenticación de Windows o Usar autenticación de SQL Server .
Elija Adjuntar un archivo de base de datos , Examinar y abra un archivo .mdf existente.
Elija el botón Aceptar .
La nueva base de datos aparece en el Explorador de servidores. Permanecerá conectado a SQL Server hasta que lo desconecte explícitamente.
fuente
Otra solución es migrar la base de datos a, por ejemplo, 2012 cuando "exporta" la base de datos desde, por ejemplo, Sql Server Manager 2014. Esto se hace en el menú Tareas-> generar scripts cuando se hace clic derecho en DB. Simplemente siga estas instrucciones:
https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/
Genera una secuencia de comandos con todo y luego en su administrador de servidor SQL, por ejemplo, 2012 ejecuta la secuencia de comandos como se especifica en la instrucción. He realizado la prueba con éxito.
fuente
Yo uso VS 2017. Por defecto, el nombre de la instancia de SQL Server es (LocalDB) \ MSSQLLocalDB. Sin embargo, al degradar el nivel de compatibilidad de la base de datos a 110 como en la respuesta de @ user3390927, podría adjuntar el archivo de la base de datos en VS, eligiendo el nombre del servidor como "localhost \ SQLExpress".
fuente