visual studio net mvc framework first datos conexion asp approach sql-server asp.net-mvc database localdb

studio - ¿Cómo transferir la base de datos MVC de ASP.NET de LocalDb a SQL Server?



mvc sql server connection (7)

¡Lo tengo!

Basado en la respuesta de @warheat1990, solo tienes que cambiar la cadena de conexión. Pero la respuesta de @warheat1990 tuvo un cambio demasiado grande. Así que aquí está mi cadena de conexión original (LocalDb):

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)/v11.0;AttachDbFilename=|DataDirectory|/aspnet-my_project-20150318100658.mdf;Initial Catalog=my_project-20150318100658;Integrated Security=True" providerName="System.Data.SqlClient"/>

Para conectarlo a SQL Server en lugar de LocalDB, modifiqué la cadena de conexión a:

<add name="DefaultConnection" connectionString="Data Source=SERVERNAME/SQLEXPRESS;Initial Catalog=my_project;Integrated Security=True" providerName="System.Data.SqlClient"/>

Gracias a @ warheat1990 por la idea de simplemente cambiar el Web.config. Mis primeros pensamientos fueron identificar y usar la característica que VS suministra, si es que hay alguna. Porque Microsoft no tiene una documentación concisa sobre cómo hacer esto.

Creé un nuevo proyecto de ASP.NET MVC 5 en Visual Studio 2013 (Express for Web) y, de forma predeterminada, el proyecto utiliza LocalDb como su base de datos, pero ¿cómo transfiere o migra la base de datos a SQL Server?

Quiero usar SQL Server para la base de datos en lugar de LocalDb. ¿Pero cómo?


A pesar de que esta pregunta es antigua, la respuesta no me ayudó, así que quiero compartir cómo la resolví por mi cuenta.

En Server Explorer, encuentre su base de datos ASPNet. Luego ábralo usando el Explorador de objetos de SQL Server.

Luego ve y pulsa la opción de comparación de esquemas

Luego, en la ventana Comparación de esquemas para la base de datos de destino, seleccione la base de datos de SQL Server en la que desea que se integre la base de datos ASPNet. Luego presiona el botón Comparar

Deseleccione todas las acciones Eliminar de la base de datos de destino y deje seleccionadas todas las acciones Agregar para la base de datos ASPNet, luego presione el botón Actualizar.

Finalmente, actualice su cadena de conexión para que apunte a su base de datos de SQL Server


Cambia el connectionString en tu web.config

<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)/v11.0;AttachDbFilename=|DataDirectory|/aspnet-KlikRX-20141203034323.mdf;Initial Catalog=aspnet-Test-20141203034323;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>

a su propia base de datos connectionString, por ejemplo:

<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=7.7.7.7/sql;Initial Catalog=TestDB;User ID=sa;Password=sa" /> </connectionStrings>


No puedes hacer una copia de seguridad de tu LocalDB de esa manera. No hay una interfaz SSMS para hacer una copia de seguridad allí. Tendrá que hacer una copia del archivo MDF de localDB y adjuntarlo a SQL Server Express (o superior). Luego puede mover los archivos o hacer una copia de seguridad de restauración.


Parece que es posible que desee mover los datos de su base de datos local al servidor de SQL. Si es así, la forma más sencilla de hacerlo sería realizar una copia de seguridad de la base de datos local y luego restaurarla en el servidor.

Para realizar una copia de seguridad: https://msdn.microsoft.com/en-us/library/ms187510.aspx#SSMSProcedure

Para restaurar: https://msdn.microsoft.com/en-us/library/ms177429.aspx

EDITAR:

Si necesita instalar una instancia de SQL Server: https://msdn.microsoft.com/en-us/library/ms143219.aspx


Tuve el mismo problema y simplemente resolví esto ... así que el punto principal es la cadena de conexión predeterminada ... que necesita modificar correctamente, de lo contrario no tiene sentido ... y es imposible conectarse correctamente. Así que copie todos los aspnetroles ... de la tabla de usuarios a la base de datos en línea (deberían verse igual que en su base de datos local). Puede comparar el esquema (db local) con db real. Está bien explicado por "Overlord" -> Explanation

Pero después ahora modificamos correctamente la cadena predeterminada de conexión Esa es mi cadena predeterminada antes de la modificación:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)/MSSQLLocalDB;AttachDbFilename=|DataDirectory|/aspnet-track_spa-20180502025513.mdf;Initial Catalog=aspnet-track_spa-20180502025513;Integrated Security=True" providerName="System.Data.SqlClient" />

Esa es mi cadena por defecto modificada después de la modificación:

<add name="DefaultConnection" connectionString="Data Source=servername,portnumber;Initial Catalog=AttendanceTrak;Integrated Security=False;User Id=****;Password=*****;Encrypt=True;TrustServerCertificate=False;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

Servername - debe ser su servidor. portnumber - debe ser el puerto de su servidor

Me tomó mucho tiempo para que finalmente funcionara correctamente ... ¡pero este pequeño truco con la cadena por defecto lo logró! Salta esto ayuda


Tuve un problema similar, queriendo exportar desde una base de datos local a un servidor de base de datos remoto y encontré un mensaje de error en el que no pude encontrar ninguna información, pero la respuesta me llegó al leer esta publicación, así que estoy enviando mi respuesta Aquí en caso de que alguien más tenga el mismo problema.

Configuré una solución con cuentas de usuario individuales. VS crea convenientemente un db (archivo mdf bajo App_Data) y una cadena de conexión en web.config.

Con toda mi sabiduría, pensé: "¿Por qué no mover esto a un servidor remoto?" Así que lo hice.

Restauré el archivo mdf en el servidor remoto, lo amplié con algunas tablas simples para mi sitio web, creé una nueva conexión a la base de datos y agregué un nuevo archivo edmx de ado.net, eliminé la "Conexión predeterminada" en web.config y Actualicé la referencia a mi nueva conexión en ApplicationDBContext.

Pulse presionado, y ... no sigar (cuando intente iniciar sesión).

The entity type IdentityUserLogin is not part of the model for the current context.

Resulta que IdentityDbContex prefiere "DefaultConnection" con providerName = "System.Data.SqlClient", por lo que no es bueno agregar un nuevo archivo edmx con providerName = "System.Data.EntityClient".

Solución: como sugirió warheat1990, actualicé (devolví) las conexiones predeterminadas y su valor de cadena de conexión.

Uno podría argumentar que debería tener dos DB separadas (una para usuarios) y otra para asuntos de negocios, pero esa es otra discusión.