2017-04-04 2 views
4

Selon this answer, SQL Server Data Tools utilise une instance LocalDB privée ProjectsV13, que vous n'êtes pas censé utiliser pour vos propres applications. Au lieu de cela, vous devez utiliser MSSQLLocalDB ou votre propre instance privée.Objet du ProjectsV13 LocalDB exemple

Est-ce documenté nulle part? À quoi sert SSDT pour son instance privée? (Je ne vois rien dans le mien.)

est une instance privée LocalDB tournant essentiellement une deuxième copie de SQL Server? En surface, il semble assez gourmand en ressources d'avoir un moteur de base de données dédié uniquement pour l'outillage des métadonnées. Quelle est l'intensité des ressources? A-t-il un impact sur le démarrage et l'utilisation de Visual Studio? Si oui, et si ce n'est pas vraiment nécessaire, pouvez-vous et devriez-vous l'éteindre ou consolider les instances d'une autre manière? Ma conjecture n'est pas; sinon, SSDT n'utiliserait pas une instance privée, mais il serait bon de savoir comment cela fonctionne sous le capot.

+0

Rapport de bogue pour les projets de base de données Visual Studio et l'Explorateur d'objets SQL Server qui permet de montrer pourquoi il y a confusion: [Les projets de base de données utilisent une instance LocalDB par défaut incorrecte] (https://developercommunity.visualstudio.com/content/problem/137241/database -projects-use-wrong-default-localdb-instan.html) –

Répondre

4

La principale raison est d'éviter les conflits avec les bases de données « de production » sur MSSQLLocalDB. SSDT crée une nouvelle base de données pour chaque projet de base de données que vous ouvrez. Si votre projet s'appelle Adventureworks, cela peut entrer en conflit avec une base de données Adventureworks créée par des projets Web ou utilisée par des applications ASP.NET locales exécutées/déboguées. Comme la SSDT le fait automatiquement, en arrière-plan, on a estimé que le risque de conflit était trop élevé. Par conséquent, une instance distincte est utilisée.

L'utilisation des ressources de LocalDB est assez faible et n'a pas lieu au démarrage (il est async). Il est conçu pour être désactivé lorsqu'il n'est pas utilisé, mais a un impact (10 Mo) lors de l'exécution de VS et de l'ouverture de l'Explorateur d'objets SQL Server, car il se connecte aux DB.