Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Microsoft SQL Server 2014 Express LocalDB
ist ein Ausführungsmodus von SQL Server Express für Programmentwickler. LocalDB
bei der Installation wird ein minimaler Satz von Dateien kopiert, die zum Starten der SQL Server-Datenbank-Engine erforderlich sind. Nach der LocalDB
Installation initiieren Entwickler eine Verbindung mithilfe einer speziellen Verbindungszeichenfolge. Beim Herstellen einer Verbindung wird automatisch die erforderliche SQL Server-Infrastruktur erstellt und gestartet, sodass die Anwendung die Datenbank ohne komplexe oder zeitaufwändige Konfigurationsaufgaben verwenden kann. Mit Developer Tools können Entwickler SQL Server-Datenbank-Engine bereitstellen, womit sie Transact-SQL-Code schreiben und testen können, und zwar ohne dabei eine vollständige Serverinstanz von SQL Serververwalten zu müssen. Eine instance von SQL Server ExpressLocalDB
wird mithilfe des SqlLocalDB.exe
Hilfsprogramms verwaltet. LocalDB
SQL Server Express sollte anstelle des veralteten features instance SQL Server Express Benutzer verwendet werden.
Installieren von LocalDB
Die primäre Methode der Installation LocalDB
ist die Verwendung des SqlLocalDB.msi-Programms. LocalDB
ist eine Option beim Installieren einer SKU von SQL Server 2014 Express. Wählen Sie LocalDB
während der Installation von SQL Server Express auf der Seite Featureauswahl aus. Es kann nur eine Installation der LocalDB
Binärdateien für jede Hauptversion SQL Server Datenbank-Engine geben. Mehrere Datenbank-Engine -Prozesse können gestartet werden und verwenden dann die gleichen Binärdateien. Eine instance der SQL Server-Datenbank-Engine, die als gestartet wurde, LocalDB
weist dieselben Einschränkungen auf wie SQL Server Express
BESCHREIBUNG
Das LocalDB
Setupprogramm verwendet das SqlLocalDB.msi Programm, um die erforderlichen Dateien auf dem Computer zu installieren. Nach der Installation LocalDB
ist eine instance von SQL Server Express, die SQL Server Datenbanken erstellen und öffnen können. Die Systemdatenbankdateien für die Datenbank werden im lokalen AppData-Pfad des Benutzers gespeichert. Dieser Pfad ist normalerweise verborgen. Beispiel: C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. Benutzerdatenbankdateien werden an der vom Benutzer angegebenen Stelle gespeichert, in der Regel irgendwo im Ordner "C:\Benutzer\<Benutzer>\Dokumente\" .
Weitere Informationen zum Einbinden LocalDB
in eine Anwendung finden Sie in der Visual Studio-Dokumentation Übersicht über lokale Daten, Exemplarische Vorgehensweise: Erstellen einer SQL Server LocalDB-Datenbank und Exemplarische Vorgehensweise: Herstellen einer Verbindung mit Daten in einer SQL Server LocalDB-Datenbank (Windows Forms).
Weitere Informationen zur LocalDB
API finden Sie unter SQL Server Express LocalDB-Instanz-API-Referenz und LocalDBStartInstance-Funktion.
Das SqlLocalDb-Hilfsprogramm kann neue Instanzen von LocalDB
erstellen, eine instance von LocalDB
starten und beenden und enthält Optionen, mit denen Sie verwalten LocalDB
können. Weitere Informationen zum Hilfsprogramm von SqlLocalDb finden Sie unter SqlLocalDB-Hilfsprogramm.
Die instance Sortierung für LocalDB
ist auf SQL_Latin1_General_CP1_CI_AS festgelegt und kann nicht geändert werden. Auf Datenbankebene, Spaltenebene und Ausdrucksebene werden Sortierungen normal unterstützt. Eigenständige Datenbanken basieren auf den Metadaten- und tempdb-Sortierungsregeln unter Contained Database Collations.
Beschränkungen
LocalDB
kann kein Mergereplikationsabonnent sein.
LocalDB
unterstützt FILESTREAM nicht.
LocalDB
lässt nur lokale Warteschlangen für Service Broker zu.
Eine instance, die sich im Besitz der integrierten Konten befindet, z. B. NT AUTHORITY\SYSTEM, kann aufgrund der LocalDB
Windows-Dateisystemumleitung Verwaltbarkeitsprobleme haben. Verwenden Sie stattdessen ein normales Windows-Konto als Besitzer.
Automatisch und benannte Instanzen
LocalDB
unterstützt zwei Arten von Instanzen: Automatische Instanzen und benannte Instanzen.
Automatische Instanzen von
LocalDB
sind öffentlich. Sie werden erstellt und automatisch für den Benutzer verwaltet. Sie können von allen Anwendungen verwendet werden. Eine automatische instance vonLocalDB
ist für jede Version vonLocalDB
vorhanden, die auf dem Computer des Benutzers installiert ist. Automatische Instanzen vonLocalDB
bieten eine nahtlose instance Verwaltung. Es ist nicht nötig, eine Instanz zu stellen, da es auch so funktioniert. Dies ermöglicht einfache Anwendungsinstallationen und eine Migration zu einem anderen Computer. Wenn auf dem Zielcomputer die angegebene Version vonLocalDB
installiert ist, ist die automatische Instanz vonLocalDB
für diese Version auch auf dem Zielcomputer verfügbar. Automatische Instanzen vonLocalDB
weisen ein spezielles Muster für den instance Namen auf, der zu einem reservierten Namespace gehört. Dadurch werden Namenskonflikte mit benannten Instanzen vonLocalDB
verhindert. Der Name der automatischen Instanz ist MSSQLLocalDB.Benannte Instanzen von
LocalDB
sind privat. Diese gehören einer Einzelanwendung, die für das Erstellen und Verwalten der Instanz zuständig ist. Benannte Instanzen sind zum Teil von anderen Instanzen isoliert und können durch die Reduzierung von Ressourcenkonflikten, die mit anderen Datenbankbenutzern auftreten können, die Leistung verbessern. Benannte Instanzen müssen explizit vom Benutzer über die Verwaltungs-API oder implizit über dieLocalDB
app.config-Datei für eine verwaltete Anwendung erstellt werden (obwohl die verwaltete Anwendung bei Bedarf auch die API verwenden kann). Jede benannte instance vonLocalDB
verfügt über eine zugeordneteLocalDB
Version, die auf den entsprechenden Satz vonLocalDB
Binärdateien verweist. Der instance Name einesLocalDB
istsysname
der Datentyp und kann bis zu 128 Zeichen umfassen. (Dies unterscheidet sich von regulären benannten Instanzen von SQL Server, die Namen auf reguläre NetBIOS-Namen mit 16 ASCII-Zeichen beschränkt.) Der Name einer instance vonLocalDB
kann alle Unicode-Zeichen enthalten, die innerhalb eines Dateinamens zulässig sind. Eine benannte Instanz, die einen automatischen Instanznamen verwendet, wird eine automatische Instanz.
Unterschiedliche Benutzer eines Computers können über Instanzen mit dem gleichen Namen verfügen. Jede Instanz ist ein anderer Prozess, der als ein anderer Benutzer ausgeführt wird.
Freigegebene Instanzen von LocalDB
Um Szenarien zu unterstützen, in denen mehrere Benutzer des Computers eine Verbindung mit einer einzelnen instance von LocalDB
herstellen müssen, LocalDB
unterstützt instance Freigabe. Ein Instanzbesitzer kann auswählen, anderen Benutzern auf dem Computer zu ermöglichen, eine Verbindung mit seiner Instanz herzustellen. Sowohl automatische als auch benannte Instanzen von LocalDB
können freigegeben werden. Zum Freigeben einer Instanz von LocalDB
müssen Benutzer einen freigegebenen Namen (Alias) dafür auswählen. Da der freigegebene Name für Benutzer des Computers sichtbar ist, muss dieser freigegebene Name auf dem Computer eindeutig sein. Der freigegebene Name für eine instance von LocalDB
hat das gleiche Format wie der benannte instance von LocalDB
.
Nur ein Administrator auf dem Computer kann eine freigegebene instance von LocalDB
erstellen. Eine freigegebene instance von LocalDB
kann von einem Administrator oder vom Besitzer der freigegebenen instance von LocalDB
aufgehoben werden. Um eine instance von LocalDB
freigeben und aufheben zu können, verwenden Sie die LocalDBShareInstance
Methoden und LocalDBUnShareInstance
der LocalDB
API oder die Freigabe- und nicht freigegebenen Optionen des SqlLocalDb-Hilfsprogramms.
Starten von LocalDB und Herstellen einer Verbindung zu LocalDB
Herstellen einer Verbindung zur automatischen Instanz
Die einfachste Möglichkeit besteht LocalDB
darin, mithilfe der Verbindungszeichenfolge "Server=(localdb)\MSSQLLocalDB;Integrated Security=true" eine Verbindung mit dem automatischen instance herzustellen, der sich im Besitz des aktuellen Benutzers befindet. Verwenden Sie eine Verbindungszeichenfolge ähnlich "Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf", um eine Verbindung mit einer bestimmten Datenbank mit dem Dateinamen herzustellen.
Hinweis
Wenn ein Benutzer auf einem Computer zum ersten Mal versucht, eine Verbindung mit herzustellenLocalDB
, muss die automatische instance sowohl erstellt als auch gestartet werden. Die zusätzliche Zeit, die für das Erstellen der Instanz benötigt wird, kann dazu führen, dass der Verbindungsversuch abgebrochen und eine Timeoutmeldung ausgegeben wird. Warten Sie in diesem Fall einige Sekunden, bis der Erstellungsvorgang vollständig abgeschlossen ist, und stellen Sie dann erneut eine Verbindung her.
Erstellen einer benannten Instanz und Herstellen einer Verbindung
Zusätzlich zum automatischen instance LocalDB
werden auch benannte Instanzen unterstützt. Verwenden Sie das SqlLocalDB.exe Programm, um eine benannte instance von LocalDB
zu erstellen, zu starten und zu beenden. Weitere Informationen zu SqlLocalDB.exe finden Sie unter SqlLocalDB-Hilfsprogramm.
REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1
Die letzte Zeile oben gibt Informationen ähnlich der folgenden zurück.
Name | "LocalDBApp1" |
Version | <Aktuelle Version> |
Freigegebener Name | "" |
Besitzer | „<Ihr Windows-Benutzerkonto>“ |
Automatisch erstellen | Nein |
State | „Wird ausgeführt“ |
Letzte Startzeit | <Datum und Uhrzeit> |
Instanz-Pipename | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Hinweis
Wenn Ihre Anwendung eine .NET-Version vor 4.0.2 verwendet, müssen Sie direkt eine Verbindung mit der Named Pipe von herstellen LocalDB
. Der Wert des Instanzpipenamens ist die Benannte Pipe, an der der instance lauschtLocalDB
. Der Teil des Instanzpipenamens nach LOCALDB# ändert sich jedes Mal, wenn die instance von LocalDB
gestartet wird. Um mithilfe von SQL Server Management Studio eine Verbindung mit dem instance von LocalDB
herzustellen, geben Sie den Namen der Instanzpipe im Feld Servername des Dialogfelds Verbindung mit Datenbank-Engine herstellen ein. Über Ihr benutzerdefiniertes Programm können Sie eine Verbindung mit dem instance herstellenLocalDB
, eine Verbindungszeichenfolge ähnlich wieSqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
Herstellen einer Verbindung mit einer freigegebenen Instanz von LocalDB
Um eine Verbindung mit einem freigegebenen instance von LocalDB
herzustellen, fügen Sie der Verbindungszeichenfolge .\ (Punkt + umgekehrter Schrägstrich) hinzu, um auf den namespace zu verweisen, der für freigegebene Instanzen reserviert ist. Um z. B. eine Verbindung mit einer freigegebenen instance von LocalDB
benannt AppData
zu stellen, verwenden Sie eine Verbindungszeichenfolge, z(localdb)\.\AppData
. B. als Teil der Verbindungszeichenfolge. Ein Benutzer, der eine Verbindung mit einer freigegebenen instance herstellt, die LocalDB
er nicht besitzt, muss über eine Windows-Authentifizierungs- oder SQL Server-Authentifizierungsanmeldung verfügen.
Problembehandlung
Informationen zur Problembehandlung LocalDB
finden Sie unter Problembehandlung SQL Server 2012 Express LocalDB.
Berechtigungen
Ein instance von SQL Server 2014 ExpressLocalDB
ist eine instance, die von einem Benutzer für seine Verwendung erstellt wurde. Jeder Benutzer auf dem Computer kann eine Datenbank mit einer instance von LocalDB
erstellen, Dateien unter dem Benutzerprofil speichern und den Prozess unter seinen Anmeldeinformationen ausführen. Standardmäßig ist der Zugriff auf die instance von LocalDB
auf den Besitzer beschränkt. Die in LocalDB
enthaltenen Daten werden durch den Dateisystemzugriff auf die Datenbankdateien geschützt. Wenn Benutzerdatenbankdateien an einem freigegebenen Speicherort gespeichert werden, kann die Datenbank von allen Benutzern mit Dateisystemzugriff auf diesen Speicherort mithilfe einer instance geöffnet werden, die LocalDB
sie besitzen. Wenn die Datenbankdateien sich an einem geschützten Speicherort befinden, z. B. dem Datenordner des Benutzers, können nur dieser Benutzer und Administratoren mit Zugriffsrechten für diesen Ordner die Datenbank öffnen. Die LocalDB
Dateien können jeweils nur von einem instance geöffnet LocalDB
werden.
Hinweis
LocalDB
wird immer im Benutzersicherheitskontext ausgeführt; d. h. LocalDB
wird niemals mit Anmeldeinformationen aus der lokalen Administratorgruppe ausgeführt. Dies bedeutet, dass auf alle Datenbankdateien, die von einem LocalDB
instance verwendet werden, über das Windows-Konto des besitzenden Benutzers zugegriffen werden muss, ohne die Mitgliedschaft in der lokalen Administratorgruppe in Betracht zu ziehen.