una significa servidor separar restaurar que nivel error dividir desmontar datos compatibilidad admite adjuntar sql-server asp.net-mvc visual-studio-2012 entity-framework-5 localdb

sql-server - significa - restaurar base de datos sql server 2014 a 2012



EF5: No se puede adjuntar el archivo ''{0}'' como base de datos ''{1}'' (11)

Bien.

Mi solución fue simple, cambié para usar el servidor local:

Cambié el atributo DataSource en la cadena de conexión de:

Data Source=(LocalDb)/v11.0;blah

A:

Data Source=./SQLEXPRESS;blah

Otra solución es iniciar sesión en LocalDb a través de SQL Management Studio e intentar eliminar esa base de datos:

Sin embargo, no funcionó para mí, cuando intento eliminarlo dice "TITLE: Microsoft SQL Server Management Studio

La base de datos ''{0}'' no existe en el servidor. (SqlManagerUI)

Cuando intento separarlo, la base de datos no aparece en la lista para separar la selección, "Quitar conexión" también me lleva al error anterior.

Lo que me lleva a pensar que esto es un error sólido en LocalDB.

Me encuentro con el problema exacto como se describe here (lea la sección "No se puede adjuntar al archivo MDF eliminado"), pero la solución al problema no se dice allí ...

En resumen, el problema es que después de eliminar el archivo .mdf , se produce la siguiente excepción cuando intento acceder al DB usando EF 5.0.

DataException-> EntityException-> SqlException:
No se puede adjuntar el archivo ''{0}'' como base de datos ''{1}''

Eliminé el archivo DB y ahora recibo ese desagradable mensaje de error cuando ejecuto la aplicación esperando que use su inicializador. Cualquier forma de arreglar esto?


Conéctese a (LocalDb) / v11.0 usando el estudio de administración de servidor Sql, elimine el archivo db y luego haga una base de datos de actualización en la consola del administrador de paquetes.


En mi caso utilizo migrations y en config simplemente cambié el nombre de la clase dataContext y dataContext en sí (simplemente renombre), luego intenté de nuevo y eso ayudó


La mejor y más fácil respuesta que acabo de resolver ahora, solo use el nombre del servidor ur sql como fuente de datos, el catálogo inicial sea el nombre de su base de datos y allí vaya a eliminar la línea mdf


La solución más sencilla es simplemente cambiar el nombre de su base de datos en la cadena de conexión. Vea el blog de Rowan Millers romiller.com/2013/05/17/… para encontrar soluciones alternativas. Esperamos solucionar este problema en una futura edición.


Para SQL 2014, siga la respuesta seleccionada de CodingWithSpike y este comentario

Como nota al margen, la v11.0 es específica de SQL LocalDB 2012. Si está utilizando LocalDB 2014, MS lo cambió de nombre a MSSqlLocalDb . - CodingWithSpike 29 de agosto de 14 a 19:20


Para aquellos que aún están buscando una solución ...

Vaya a View / SQL Server Object Explorer y elimine la base de datos del subnodo (localdb) / v11.0!

En esencia, se conserva una base de datos local donde deberían estar los archivos, y si desea eliminar los archivos de la base de datos, asegúrese de eliminarlos de esta utilidad de explorador, no manualmente.


Podría arreglarlo cambiando el nombre de DataBase en mi cadena de conexión, desde aspnet- {numbers} por defecto a un nombre simple, funcionó.


Primero probé la solución de JSobell, pero no vi mi base de datos allí. Ejecuté los comandos de CodingWithSpike desde el símbolo del sistema de desarrollador VS, pero tampoco funcionó. Finalmente ejecuté los mismos comandos de CodingWithSpike desde la consola de Package Manager y funcionó.

PM> sqllocaldb.exe stop v11.0 LocalDB instance "v11.0" stopped. PM> PM> sqllocaldb.exe delete v11.0 LocalDB instance "v11.0" deleted. PM> sqllocaldb.exe start v11.0 LocalDB instance "v11.0" started.


Si elimina el archivo DB, aún permanece registrado con SqlLocalDB. A veces lo arregla para eliminar el DB. Puedes hacer esto desde la línea de comando.

  1. Abra el "Developer Command Propmpt for VisualStudio" en su menú de inicio / programas.
  2. Ejecute los siguientes comandos:

    sqllocaldb.exe stop v11.0

    sqllocaldb.exe delete v11.0


Tuve el mismo problema y lo resolví configurando manualmente la carpeta "DataDirectory" en otra carpeta en los binarios de mi aplicación.

Pongo esta línea en el método Global.asax Application_Start:

AppDomain.CurrentDomain.SetData("DataDirectory", Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data"));

Mi cadena de conexión está actualmente configurada así:

<connectionStrings> <add name="DataContext" connectionString="Data Source=(LocalDb)/v11.0; Initial Catalog=DataContext; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|DataContext.mdf" providerName="System.Data.SqlClient" />