SQL Server Express LocalDB-Instanz-APIs

Gilt für:SQL Server

In der herkömmlichen, dienstbasierten SQL Server-Welt werden einzelne SQL Server-Instanzen, die auf einem einzelnen Computer installiert sind, physisch getrennt. Jede Instanz muss separat installiert und entfernt werden, verfügt über einen separaten Satz von Binärdateien und wird unter einem separaten Dienstprozess ausgeführt. Der SQL Server-Instanzname wird verwendet, um anzugeben, mit welcher SQL Server-Instanz der Benutzer eine Verbinden herstellen möchte.

Die SQL Server Express LocalDB-Instanz-API verwendet ein vereinfachtes Light-Instanzmodell. Obwohl einzelne LocalDB-Instanzen auf dem Datenträger und in der Registrierung getrennt sind, verwenden sie denselben Satz freigegebener LocalDB-Binärdateien. Darüber hinaus verwendet LocalDB keine Dienste. LocalDB-Instanzen werden bei Bedarf über LocalDB-Instanz-API-Aufrufe gestartet. In LocalDB wird der Instanzname verwendet, um anzugeben, mit welcher LocalDB-Instanz der Benutzer arbeiten will.

Eine LocalDB-Instanz gehört immer einem einzelnen Benutzer und ist nur im Kontext dieses Benutzers sichtbar und zugänglich, es sei denn, die Instanzfreigabe ist aktiviert.

Obwohl technisch LocalDB-Instanzen nicht mit herkömmlichen SQL Server-Instanzen identisch sind, ist die beabsichtigte Verwendung ähnlich. Sie werden Instanzen genannt, um diese Ähnlichkeit zu betonen und sie für SQL Server-Nutzer intuitiver zu machen.

LocalDB unterstützt zwei Arten von Instanzen: automatische Instanzen (AI) und benannte Instanzen (BI). Der Bezeichner für eine LocalDB-Instanz ist der Instanzname.

Automatische LocalDB-Instanzen

Automatische LocalDB-Instanzen sind öffentlich; Sie werden automatisch für den Benutzer erstellt und verwaltet und können von jeder Anwendung genutzt werden. Eine automatische LocalDB-Instanz ist für jede Version von LocalDB vorhanden, die auf dem Computer des Benutzers installiert ist. Der Name der automatischen LocalDB-Instanz lautet MSSQLLocalDB.

Automatische LocalDB-Instanzen stellen die nahtlose Instanzverwaltung bereit. Der Benutzer muss die Instanz nicht erstellen. Dies ermöglicht Benutzern die einfache Installation von Anwendungen und Migration auf andere Computer. Wenn auf dem Zielcomputer die angegebene Version von LocalDB installiert ist, ist die automatische LocalDB-Instanz für diese Version auch auf diesem Computer verfügbar.

Automatische Instanzverwaltung

Ein Benutzer muss keine automatische LocalDB-Instanz erstellen. Die Instanz wird beim ersten Verwenden der Instanz lazily erstellt, solange die angegebene Version von LocalDB auf dem Computer des Benutzers verfügbar ist. Aus Sicht des Benutzers ist die automatische Instanz immer vorhanden, wenn die LocalDB-Binärdateien vorhanden sind.

Andere Instanzverwaltungsvorgänge, z. B. Löschen, Freigabe und Freigabe aufheben, funktionieren auch für automatische Instanzen. Insbesondere wird durch das Löschen einer automatischen Instanz die Instanz effektiv zurückgesetzt, die beim nächsten Startvorgang neu erstellt wird. Das Löschen einer automatischen Instanz ist möglicherweise erforderlich, wenn die Systemdatenbanken beschädigt werden.

Benannte LocalDB-Instanzen

Benannte LocalDB-Instanzen sind privat; Eine Instanz gehört einer einzelnen Anwendung, die für die Erstellung und Verwaltung der Instanz verantwortlich ist. Benannte LocalDB-Instanzen bieten Isolierung und verbessern die Leistung.

Erstellung benannter Instanzen

Der Benutzer muss benannte Instanzen explizit über die LocalDB-Verwaltungs-API oder implizit über die app.config Datei für eine verwaltete Anwendung erstellen. Eine verwaltete Anwendung kann auch die API verwenden.

Jede benannte Instanz verfügt über eine zugeordnete LocalDB-Version. Das heißt, sie verweist auf einen angegebenen Satz LocalDB-Binärdateien. Die Version für die benannte Instanz wird während des Instanzerstellungsprozesses festgelegt.

Benennungsregeln für benannte Instanzen

Ein LocalDB-Instanzname kann bis zu 128 Zeichen umfassen (der Sysname-Datentyp setzt diese Begrenzung auf). Diese Begrenzung ist ein erheblicher Unterschied im Vergleich zu traditionellen SQL Server-Instanznamen, die auf NetBIOS-Namen mit 15 ASCII-Zeichen beschränkt sind. Der Grund für diesen Unterschied ist, dass LocalDB Datenbanken als Dateien behandelt und daher dateibasierte Semantik impliziert, sodass Nutzer mehr Freiheit bei der Wahl von Instanznamen haben.

Ein LocalDB-Instanzname kann alle Unicode-Zeichen enthalten, die innerhalb der Dateinamenkomponente gültig sind. Unzulässige Zeichen in einer Dateinamenkomponente enthalten im Allgemeinen die folgenden Zeichen: ASCII-/Unicode-Zeichen 1 bis 31 und Anführungszeichen ("), kleiner als (<), größer als (>), Pipe (|), Rücktaste (), Tabstopp (\b\t), Doppelpunkt (:), Sternchen (*), Fragezeichen (?), Umgekehrter Schrägstrich (\) und Schrägstrich (/). Das Nullzeichen (\0) ist zulässig, da es für die Beendigung der Zeichenfolge verwendet wird. Alles nach dem ersten NULL-Zeichen wird ignoriert.

Note

Die Liste der unzulässigen Zeichen hängt möglicherweise vom Betriebssystem ab und kann sich in zukünftigen Versionen ändern.

Führende und nachfolgende Leerzeichen in Instanznamen werden ignoriert und gekürzt.

Um Namenskonflikte zu vermeiden, kann eine benannte LocalDB-Instanz den Namen der reservierten automatischen Instanz MSSQLLocalDBnicht verwenden. Ein Versuch, eine benannte Instanz mit diesem Namen zu erstellen, erzeugt effektiv eine Standardinstanz.

Article Description
SQL Server Express LocalDB-Header und Versionsinformationen Stellt Headerdateiinformationen und Registrierungsschlüssel zum Suchen der LocalDB-Instanz-API bereit.
Verwaltungstool für die Befehlszeile: SqlLocalDB.exe Beschreibt SqlLocalDB.exe, ein Tool zum Verwalten von LocalDB-Instanzen über die Befehlszeile.
LocalDBCreateInstance-Funktion Beschreibt die Funktion zum Erstellen einer neuen LocalDB-Instanz.
LocalDBDeleteInstance Function Beschreibt die Funktion zum Entfernen einer LocalDB-Instanz.
LocalDBFormatMessage-Funktion Beschreibt die Funktion zum Zurückgeben der lokalisierten Beschreibung für einen LocalDB-Fehler.
LocalDBGetInstanceInfo-Funktion Beschreibt die Funktion zum Abrufen von Informationen für eine LocalDB-Instanz, z. B. ob sie vorhanden ist, Versionsinformationen, ob sie ausgeführt wird usw.
LocalDBGetInstances-Funktion Beschreibt die Funktion zum Zurückgeben aller LocalDB-Instanzen mit Versionsangabe.
LocalDBGetVersionInfo-Funktion Beschreibt die Funktion zum Zurückgeben von Informationen für eine angegebene LocalDB-Version.
LocalDBGetVersions-Funktion Beschreibt die Funktion zum Zurückgeben aller LocalDB-Versionen, die auf einem Computer verfügbar sind.
LocalDBShareInstance-Funktion Beschreibt die Funktion zum Freigeben einer angegebenen LocalDB-Instanz.
LocalDBStartInstance-Funktion Beschreibt die Funktion zum Starten einer angegebenen LocalDB-Instanz.
LocalDBStartTracing-Funktion Beschreibt die Funktion zum Aktivieren der API-Ablaufverfolgung für einen Benutzer.
LocalDBStopInstance-Funktion Beschreibt die Funktion zum Anhalten der Ausführung einer angegebenen LocalDB-Instanz.
LocalDBStopTracing-Funktion Beschreibt die Funktion zum Deaktivieren der API-Ablaufverfolgung für einen Benutzer.
LocalDBUnshareInstance-Funktion Beschreibt die Funktion zum Anhalten der Freigabe einer angegebenen LocalDB-Instanz.