Comment faire pour transférer des ASP.NET MVC, Base de données de LocalDb de SQL Server?
J'ai créé un nouveau ASP.NET MVC 5 projet dans Visual Studio 2013 Express pour le Web) et, par défaut, le projet utilise LocalDb comme base de données, mais comment voulez-vous transférer ou de migrer la base de données de SQL Server?
Je veux utiliser SQL Server pour la base de données au lieu de LocalDb. Mais comment?
LocalDB
est un développeur orienté version de SQL Server .....
Vous devez vous connecter pour publier un commentaire.
Nonobstant cette question est ancienne, la réponse ne m'aide pas, donc je veux partager ce que j'ai trouvé pour mon auto.
Sur l'Explorateur de serveurs, de trouver votre ASPNet DB. Puis ouvrez à l'aide de l'Explorateur d'Objets de SQL Server.
Puis aller frapper Schéma de Comparer option
Puis sur le Schéma de Comparer la fenêtre de la base de données Cible, sélectionnez le Serveur SQL server base de données dont vous souhaitez que le Réseau de la DB de s'y intégrer. Ensuite frappé le bouton Comparer
Désélectionner tous les Supprimer actions pour la base de données cible, et laissez sélectionné tous Ajouter des actions pour le Réseau de la DB, puis appuyez sur bouton mettre à Jour.
Enfin, la mise à jour de votre chaîne de connexion de sorte qu'il pointe vers votre Serveur SQL DB
Obtenu!
Basé sur @warheat1990 réponse, vous avez juste à modifier la chaîne de connexion. Mais @warheat1990 la réponse avait un peu trop de changement. Voici donc mon premier (LocalDb) chaîne de connexion:
Pour le connecter à SQL Server au lieu de LocalDB, j'ai modifié la chaîne de connexion dans:
Grâce à @warheat1990 pour l'idée de simplement en changeant le Web.config. Mes premières pensées ont été pour identifier et utilisez la fonction de VS fournitures, si theres aucun. Parce que Microsoft n'a pas une documentation concise sur la façon de le faire.
Changer la connectionString dans votre site web.config
à votre propre base de données connectionString, par exemple :
providerName="System.Data.SqlClient"
est absent dans warheat1990 du codeOn dirait que vous voulez déplacer les données à partir de votre base de données locale de sql server. Si donc, la meilleure façon de le faire serait de sauvegarder votre base de données locale et de la restaurer sur le serveur.
À sauvegarder:
https://msdn.microsoft.com/en-us/library/ms187510.aspx#SSMSProcedure
La restauration:
https://msdn.microsoft.com/en-us/library/ms177429.aspx
EDIT:
Si vous avez besoin d'installer une instance de SQL Server:
https://msdn.microsoft.com/en-us/library/ms143219.aspx
J'ai eu le même problème et vient de résoudre ce...de sorte que le point principal est la chaîne de connexion par défaut...ce qui vous avez besoin de modifier correctement sinon c'est inutile..et impossible de se connecter correctement. Pour copier tous vous aspnetroles...table des utilisateurs de base de données en ligne( ils devraient regarder les mêmes que dans votre base de données locale).
Vous pouvez comparer schéma local(db) avec de vrais db. Il est très bien expliqué par "Overlord" -> Explication
Mais après permet maintenant de modifier correctement defaultconnection chaîne
C'est ma chaîne par défaut avant modification:
C'est mon modifiée par défaut de la chaîne après modification:
servername - devrait être votre serveur.
portnumber - devrait être votre serveur de port
Il m'a fallu des âges pour enfin qu'il fonctionne correctement...mais ce petit truc avec chaîne par défaut, il vient de faire!
Houblon cela permet de
J'ai eu un problème similaire, désireux d'exporter à partir d'un local db à distance db-serveur et a rencontré un message d'erreur je ne pouvais pas trouver toutes les informations sur, mais la réponse m'est venue lors de la lecture de ce post, donc je vous soumets ma réponse ici au cas où quelqu'un d'autre a le même problème.
J'ai mis en place une solution avec des Comptes d'Utilisateur Individuels. VS idéalement crée un db (mdf fichier sous App_Data) et un connectionstring dans le web.config.
Dans toute ma sagesse, j'ai pensé: "Pourquoi ne pas aller à un serveur distant?" Je l'ai fait.
J'ai restauré le fichier mdf sur le serveur distant, élargi avec de simples tables pour mon site web, créé une nouvelle connexion à la db et a ajouté un nouveau ado.net edmx de fichier, suppression de "l'DefaultConnection" dans le web.configuration et mise à jour de la référence à ma nouvelle connexion dans la ApplicationDBContext.
Appuyé sur play, et... pas sigar (lorsque vous essayez de vous connecter).
S'avère la IdentityDbContex préfère les "DefaultConnection" avec la providerName="le Système de.Les données.SqlClient" l'ajout d'un nouveau edmx fichier avec l'providerName="le Système de.Les données.EntityClient" n'est pas bon.
Solution: Comme warheat1990 suggéré, j'ai mis à jour (remettre) le DefaultConnections et c'est connectionstring valeur.
On peut dire que je devrais avoir deux séparés db (dont l'un pour les utilisateurs) et un pour les entreprises de trucs, mais c'est un autre débat.
En relation avec les Maîtres de réponse, il a parfaitement fonctionné pour moi, merci!
Si quelqu'un est en difficulté avec la chaîne de connexion à utiliser:
Ce qui fonctionne pour moi..
Modifier la chaîne de connexion dans le fichier de configuration web pointant vers le serveur de base de données, puis exécutez l'application et enregistrer un utilisateur. Une fois inscrit correctement, passez à la SSMS et actualisation de la base de données et l'identité des tables doit apparaître.
Ce qui concerne
Suzerain de l'exemple de migration est sur place. Ma note à la fin était un peu gros pour un commentaire, voici donc les modifications requises sur le web.fichier de configuration. Une vieille méthode sur un lecteur local était de préciser
mais peut ne pas fonctionner sur les nouvelles interfaces, afin de remplacer [.\exemple] avec [nom de l'ordinateur\instance] si vous migrez vers l'avant. C'est Visual Studio Pro 2017, SQL Server 2014 & Entity Framework 6.0.
1ère mise à jour de la chaîne de connexion.. remplacer les éléments entre crochets avec les informations nécessaires pour vous connecter à votre base de données.
prochaine mise à jour de l'entité d'info.. Le [nom de l'instance] utilisé pour SQL Server peut être trouvé à partir de [SQL Server Mgmt] de la console - [Propriétés du Serveur] - [Avancé] - [Filestream Nom de Partage] & par défaut comme [MSSQLSERVER].
pour le cloud ou d'autres multi-serveur migrations de base de données, également la revue [sessionState] paramètres dans le web.config & remplacer [InProc] avec [Personnalisé]. [sessionState] entre [/roleManager] & [/système.web]
cette valeur par défaut de 1 db du serveur
& ce remplacement pour mult serveur ou dans des environnements de cloud