LocalDBStartInstance-Funktion
Startet die angegebene SQL Server Express LocalDB-Instanz.
Headerdatei: sqlncli.h
Syntax
HRESULT LocalDBStartInstance(
PCWSTR pInstanceName,
DWORD dwFlags,
LPWSTR wszSqlConnection,
LPDWORD lpcchSqlConnection
);
Parameter
pInstanceName
[Eingabe] Der Name der LocalDB-Instanz, die gestartet werden soll.dwFlags
[Eingabe] Zur künftigen Verwendung reserviert. Muss derzeit auf 0 festgelegt sein.wszSqlConnection
[Ausgabe] Der Puffer zum Speichern der Verbindungszeichenfolge in der LocalDB-Instanz.lpcchSqlConnection
[Eingabe/Ausgabe] Bei Eingabe enthält dieses Objekt die Größe des wszSqlConnection-Puffers in Zeichen, einschließlich sämtlicher nachfolgender Nullen. Wenn der angegebene Puffer zu klein ist, enthält dieses Objekt bei Ausgabe die erforderliche Puffergröße in Zeichen, einschließlich sämtlicher nachfolgender Nullen.
Rückgabewerte
S_OK
Die Funktion wurde erfolgreich ausgeführt.LOCALDB_ERROR_NOT_INSTALLED
SQL Server Express LocalDB ist nicht auf dem Computer installiert.LOCALDB_ERROR_INVALID_PARAMETER
Mindestens ein angegebener Eingabeparameter ist ungültig.LOCALDB_ERROR_INVALID_INSTANCE_NAME
Der angegebene Instanzname ist ungültig.LOCALDB_ERROR_UNKNOWN_INSTANCE
Die Instanz ist nicht vorhanden.LOCALDB_ERROR_INSUFFICIENT_BUFFER
Der angegebene Puffer wszSqlConnection ist zu klein.LOCALDB_ERROR_WAIT_TIMEOUT
Beim versuchten Abrufen der Synchronisierungssperren ist ein Timeout aufgetreten.LOCALDB_ERROR_INSTANCE_FOLDER_PATH_TOO_LONG
Der Pfad, unter dem die Instanz gespeichert werden soll, ist länger als MAX_PATH.LOCALDB_ERROR_CANNOT_GET_USER_PROFILE_FOLDER
Ein Benutzerprofilordner kann nicht abgerufen werden.LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_FOLDER
Auf einen Instanzordner kann nicht zugegriffen werden.LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_REGISTRY
Auf eine Instanzregistrierung kann nicht zugegriffen werden.LOCALDB_ERROR_CANNOT_MODIFY_INSTANCE_REGISTRY
Eine Instanzregistrierung kann nicht bearbeitet werden.LOCALDB_ERROR_CANNOT_CREATE_SQL_PROCESS
Ein Prozess für SQL Server kann nicht erstellt werden.LOCALDB_ERROR_SQL_SERVER_STARTUP_FAILED
Ein SQL Server-Prozess wurde gestartet, der SQL Server-Start ist jedoch fehlgeschlagen.LOCALDB_ERROR_INSTANCE_CONFIGURATION_CORRUPT
Eine Instanzkonfiguration war beschädigt.LOCALDB_ERROR_AUTO_INSTANCE_CREATE_FAILED
Kann keine automatische Instanz erstellen. Fehlerdetails finden Sie im Windows-Anwendungsereignisprotokoll.LOCALDB_ERROR_INTERNAL_ERROR
Ein unerwarteter Fehler ist aufgetreten. Weitere Informationen finden Sie im Ereignisprotokoll.
Details
Das Verbindungspufferargument (wszSqlConnection) und das Verbindungspuffergrößen-Argument (lpcchSqlConnection) sind optional. In der folgenden Tabelle werden Optionen zum Verwenden dieser Argumente und ihrer Ergebnisse angezeigt.
Puffer |
Puffergröße |
Sinn |
Aktion |
---|---|---|---|
NULL |
NULL |
Benutzer will die Instanz starten und benötigt keinen Pipenamen. |
Startet eine Instanz (keine Piperückgabe und keine erforderliche Puffergrößenrückgabe). |
NULL |
Vorhanden |
Benutzer fragt nach der Ausgabepuffergröße. (Im nächsten Aufruf bittet der Benutzer wahrscheinlich um einen tatsächlichen Start.) |
Gibt eine erforderliche Puffergröße (kein Start und keine Piperückgabe) zurück. Ergebnis ist S_OK. |
Vorhanden |
NULL |
Nicht zulässig; falsche Eingabe. |
Das zurückgegebene Ergebnis ist LOCALDB_ERROR_INVALID_PARAMETER. |
Vorhanden |
Vorhanden |
Der Benutzer möchte die Instanz starten und benötigt den Pipenamen, zu dem nach dem Start eine Verbindung hergestellt wird. |
Überprüft die Puffergröße, startet die Instanz und gibt den Pipenamen im Puffer zurück. Das Puffergrößenargument gibt die Länge der Zeichenfolge "server=" zurück, jedoch ohne nachfolgende Nullen. |
Ein Codebeispiel, in dem die LocalDB-API verwendet wird, finden Sie unter SQL Server Express LocalDB-Verweis.