webentwicklung-frage-antwort-db.com.de

Gibt es einen Unterschied zwischen SQL Server Express (2012) und LocalDB?

ErikEJ unterscheidet in seinem hervorragenden und beliebten Vergleichstabelle zwischen SQL Server Express 2012 und SQL Server 2012 LocalDB . Eine solche Unterscheidung kann ich jedoch an keiner anderen Stelle in der MSDN-Dokumentation finden ("LocalDB" wird nicht einmal in dem offiziellen MS SS12-Buch oder auf der MSDN SQL Edition-Vergleichsseite) erwähnt .) Dies lässt mich vermuten, dass Express und LocalDB nicht wirklich zwei getrennte Produkte sind, wie ErikEJ vorschlägt, sondern nur zwei verschiedene Begriffe für dasselbe (was erklären würde, warum, auf diese MSDN-Seite , es heißt "SQL Server 2012 Express LocalDB").

Wenn es wirklich einen Unterschied zwischen den Produkten gibt, kann mich jemand auf eine offizielle Dokumentation verweisen, die sie vergleicht?

55
kmote

OK, ich denke ich habe die Antwort auf meine eigene Frage gefunden. (Es wurde unter den Registerkarten auf der SS Express-Produktseite begraben.)

Hier ist eine Zusammenfassung der Besonderheiten von LocalDB, die ich auf dieser Seite gefunden habe:

  • LocalDB ist eine einfache Bereitstellungsoption für SQL Server Express Edition mit weniger Voraussetzungen und einer schnelleren Installation.
  • LocalDB verfügt über dieselben Programmierfunktionen wie SQL Express, wird jedoch im "Benutzermodus" * mit Anwendungen und nicht als Dienst ausgeführt.
  • LocalDB ist nicht für Mehrbenutzerszenarien oder als Server vorgesehen. (Wenn Sie Remoteverbindungen akzeptieren oder remote verwalten müssen, benötigen Sie SQL Server Express.)
  • "Express with Tools" (einschließlich SS Management Studio Express, Azure usw.) kann mit oder ohne LocalDB verwendet werden. (Gleiches gilt für "Express with Advanced Services".)

UPDATE: Ich fand diese nützliche Beschreibung gerade in Windows IT Pro (Jul '12, S.23) :

LocalDB ist weder SQL Server Express noch SQL Server Compact. LocalDB verwendet die gleiche sqlservr.exe-Engine wie die anderen Editionen von SQL Server, wird jedoch im Benutzermodus und nicht als Dienst ausgeführt. LocalDB wird für die Offline-Entwicklung von Tools wie SSDT verwendet, um sicherzustellen, dass der von Ihnen entwickelte Code zu 100 Prozent mit Ihrer SQL Server-Produktionsdatenbank kompatibel ist.

Wenn ich das richtig lese, scheint LocalDB eher eine Konfigurationsoption von Express zu sein als ein völlig separates Produkt. Wenn ich also anscheinend Express (oder Express mit Tools) herunterlade, habe ich die Möglichkeit, die LocalDB-Version zu installieren, die angeblich einfacher ist ("Null-Konfiguration") als die Vollversion von Express. (Update: mit VS2012 LocalDB wird standardmäßig installiert .)

Ein weiterer wichtiger Unterschied ist laut diesem Beitrag , dass "Visual Studio 2010 derzeit nicht wirklich mit LocalDB funktioniert." (Wir müssen stattdessen zumindest vorerst SS Management Studio verwenden.)

* (Das Konzept des "Benutzermodus" oder "Benutzerinstanzen" ist ein wesentliches Merkmal von LocalDB. Gemäß diesem Beitrag kann "LocalDB" als Upgrade der Benutzerinstanzen-Funktion von angesehen werden SQL Server Express. "Weitere Informationen zu Benutzerinstanzen finden Sie im MSDN-Blogpost " Was ist eine RANU? " )

70
kmote

Ich verwende eine Tabelle von ErikEJ, die Folgendes zeigt: die Funktionen und Unterschiede zwischen SQL CE 3.5, SQL CE 4, Local DB und SQL Server 2012 . Gemäß dieser Tabelle unterscheiden sich Local DB und SQL Server 2012 wie folgt:

Installationsgröße:
SQL Server 2012: 120 MB Downloadgröße; 300 MB auf der Festplatte erweitert
Lokale Datenbank: 32 MB Downloadgröße; 160 MB auf der Festplatte

Läuft als Dienst
SQL Server 2012: Ja
Lokale Datenbank: Nein (wird ausgeführt, wenn der Prozess von der App gestartet wird)

FILESTREAM-Unterstützung
SQL Server 2012: Ja
Lokale DB: Nein

Abonnent für die Mergereplikation
SQL Server 2012: Ja
Lokale DB: Nein

Anzahl gleichzeitiger Verbindungen
SQL Server 2012: Unbegrenzt
Lokale DB: Unbegrenzt (aber nur lokal)

NB: Tut mir leid, das ist keine "offizielle Dokumentation", aber ich hoffe, es ist nützlich für den nächsten Bod, da es die zugrunde liegende Frage nach den Unterschieden beantwortet.

15
noelicus

Der Hauptunterschied besteht darin, dass Server Express als Dienst ausgeführt wird, während LocalDB keinen Server oder keine intensive Verarbeitung benötigt, um ausgeführt zu werden.

6
Aron Jay