Wie verbinde ich mich von SQL Server 2014 Express mit localDB?

9

Ich habe sowohl LocalDB als auch Management Studio für MS SQL Server 2014 Express heruntergeladen, damit ich auf meinem lokalen Computer üben kann. Wenn ich jedoch Management Studio öffne und versuche, zu localDB zu navigieren, um eine Verbindung herzustellen, um erstellte Datenbanken zu starten, kann ich die localDB nicht finden.

Darf mir bitte jemand dabei helfen?

Squ1rr3lz
quelle

Antworten:

18

SQL Server Express LocalDB (im Allgemeinen nur als "LocalDB" bezeichnet) ist keine dienstbasierte Anwendung: Sie wird weder in "Dienste" angezeigt noch beim Starten des Computers gestartet oder läuft sogar bis zum manuellen Herunterfahren .

LocalDB ist ein Hintergrundprozess im Benutzermodus. Es wird entweder gestartet, wenn die erste Anforderung zum Herstellen einer Verbindung eingeht (vorausgesetzt, die Anforderung verwendet die Syntax "(localdb) \ InstanceName") oder wenn sie explizit über das Befehlszeilenprogramm SqlLocalDB.exe gestartet wird .

Wenn Sie also den Instanznamen kennen, versuchen Sie einfach, eine Verbindung herzustellen. Das erste Mal dauert beim Starten einen Moment. Nachfolgende Verbindungen (unter der Annahme einer konsistenten Aktivität) sind jedoch schnell.

Wenn Sie den Namen der Instanz nicht kennen, können Sie die Liste mithilfe des SqlLocalDB.exeDienstprogramms wie folgt abrufen:

C:\>SqlLocalDB i

Dadurch wird eine Liste der Instanzen zurückgegeben, auf die Ihr Windows-Login Zugriff hat. Wenn ein Instanzname mit beginnt, handelt .\es sich um eine gemeinsam genutzte Instanz, auf die auch andere Benutzer zugreifen können (standardmäßig sind Instanzen für das Login, das sie erstellt hat, privat).

Von dort aus können Sie weitere Informationen erhalten (einschließlich der Frage, ob die LocalDB-Instanz "ausgeführt" oder "gestoppt" ist), indem Sie Folgendes tun:

C:\>SqlLocalDB i {InstanceName}

Und Sie können damit beginnen:

C:\>SqlLocalDB s {InstanceName}

Sobald die letzte Verbindung zu einer LocalDB-Instanz geschlossen ist, wird die Instanz nach ca. 5 Minuten automatisch gestoppt (dies ist die Standardeinstellung, kann jedoch länger konfiguriert werden). Das verzögerte Herunterfahren soll verhindern, dass erneut auf den Start von Verbindungen gewartet werden muss, die kurz nach dem Ende der letzten Verbindung eingehen.

LocalDB verfügt immer über eine "Standard" -Instanz, die bei der Installation erstellt wird, auch wenn Sie diese nie verwenden. In SQL Server 2012 Express LocalDB lautet der Standardinstanzname v11.0 . In der LocalDB-Version 2014 lautet der Standardinstanzname MSSQLLocalDB . Und genau wie ein Punkt " . " Verwendet werden kann, um eine Verbindung zu einer Nicht-LocalDB-Standardinstanz herzustellen:

C:\>SQLCMD -S . -E -Q "SELECT @@SERVERNAME;"

Es kann auch mit der Syntax "(LocalDB) \ InstanceName" verwendet werden, um eine Verbindung zur Standardinstanz herzustellen:

C:\>SQLCMD -S (LocalDB)\. -E -Q "SELECT @@SERVERNAME;"

Bitte beachten Sie, dass Sie nur eine Standardinstanz haben von LocalDB als angegeben die Standardinstanz. Das heißt, wenn Sie sowohl die Versionen 2012 als auch 2014 von LocalDB installiert haben, verwenden Sie (LocalDB) \. verweist auf die MSSQLLocalDB- Instanz und nicht auf die v11.0- Instanz.

Solomon Rutzky
quelle
5
Kurz: Um eine Verbindung zur Standardinstanz herzustellen, geben Sie (localdb)\mssqllocaldbwie Server namein SSMS ein.
Vojtěch Dohnal
2
@ VojtěchDohnal Danke. Ich habe gerade meine Antwort aktualisiert, um Informationen zu LocalDB-Standardinstanzen aufzunehmen und eine Verbindung zu ihnen herzustellen.
Solomon Rutzky