web-dev-qa-db-fra.com

Pourquoi le nom d'instance de SQL Server Express change-t-il?

Je suis Workig sur une application Web qui utilise

SQL Server Express (Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64) 28 oct. 2016 18:17:30 Copyright (C) Edition Microsoft Corporation Express (64 bits) sur Windows 10 Pro 6.3 (Build 18362 :)).

L'application Web utilise la chaîne de connexion pour se connecter à DB. Après avoir effectué une recherche quelques jours pour un format de chaîne de connexion appropriée, j'ai réussi à trouver le format, à l'aide de la méthode décrite par NIK IN ce blog POST et c'est:

Data Source = np:\\.\pipe\LOCALDB#A9DE3E14\tsql\query; Initial Catalog = MyDataBaseCatalog; User ID = myuser; Password=mypassword;

Tout fonctionne bien hier, mais aujourd'hui, il s'est arrêté. J'ai découvert que le nom de service a changé pour:

LOCALDB#B87CB983

Après avoir remplacé le nom de l'instance avec le nouveau nom de service dans la chaîne de connexion, l'application Web fonctionne bien, mais ce n'est pas une solution acceptable.

Pouvez-vous me dire pourquoi le nom d'instance change, est-ce une limitation de version express? Comment configurer le nom pour être permanent?

9
maniacz

Cette application n'utilise pas l'édition habituelle SQL Server Express. Express Edition fonctionne comme un service tel que vous le verriez dans le panneau de configuration des services (sous Windows), et il y aurait un nom d'instance stable, comme vous vous attendez.

Ce service que vous connectez à utiliser le (confusement nommé) SQL Server Express localdb . Ceci est souvent appelé "localdb" simplement pour réduire la confusion du chevauchement des noms. LocalDB fonctionne en cours - c'est-à-dire que ce n'est pas un service, mais est lancé par l'application qui utilise est.

LocalDB prend en charge un certain nombre de configurations, en fonction de la manière dont l'application est destinée à être consultée. Consultez la section dans les documents intitulé " Instances automatiques et nommées " ainsi que la section intitulée " instances partagées de localDB ".

17
AMtwo