JetSetSystemParameter-Funktion

Gilt für: Windows | Windows Server

JetSetSystemParameter-Funktion

Die JetSetSystemParameter-Funktion wird verwendet, um die zahlreichen Konfigurationseinstellungen der Datenbank-Engine festzulegen.

    JET_ERR JET_API JetSetSystemParameter(
      __in_out_opt  JET_INSTANCE* pinstance,
      __in          JET_SESID sesid,
      __in          unsigned long paramid,
      __in          JET_API_PTR lParam,
      __in_opt      JET_PCSTR szParam
    );

Parameter

Pinstance

Gibt die instance an, die für diesen Aufruf verwendet werden soll.

Windows 2000: Für Windows 2000 wird dieser Parameter ignoriert und sollte immer NULL sein.

Windows XP: Für Windows XP und höhere Versionen ist dieser Parameter etwas überladen. Wenn die Engine im Legacymodus (Windows 2000-Kompatibilitätsmodus) ausgeführt wird, in dem nur eine instance unterstützt wird, kann dieser Parameter NULL sein oder die tatsächliche instance enthalten, die von JetInit zurückgegeben wird. In beiden Fällen werden alle Systemparametereinstellungen aus dieser instance gelesen. Wenn die Engine im Multi-instance-Modus ausgeführt wird, kann dieser Parameter NULL oder ein Zeiger auf eine mit JetInit oder JetCreateIndex erstellte instance sein. Wenn dieser Parameter NULL ist, wird die einstellung des globalen Systemparameters (oder der Standardwert) gelesen. Wenn es sich bei diesem Parameter um einen instance wird die Systemparametereinstellung für diesen instance gelesen.

Obwohl dies technisch gesehen ein Out-Parameter ist, ändert diese API niemals den Inhalt des bereitgestellten Puffers.

sesid

Gibt die Sitzung an, die für diesen Aufruf verwendet werden soll.

Wenn angegeben, wird die angegebene instance ignoriert, und die der Sitzung zugeordnete instance wird verwendet.

paramid

Die ID des Systemparameters, der festgelegt wird. Eine vollständige Liste der Systemparameter und deren Eigenschaften finden Sie unter Systemparameter .

lParam

Stellt den Wert bereit, der für den ausgewählten Systemparameter festgelegt werden soll, wenn dieser Systemparameter einen ganzzahligen Typ aufweist.

szParam

Stellt den Wert für den ausgewählten Systemparameter bereit, wenn dieser Systemparameter einen Zeichenfolgentyp aufweist.

Rückgabewert

Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

Windows Vista: Unter Windows Vista und späteren Versionen kann der Erfolg ohne Änderung des Werts des Systemparameters zurückgegeben werden. Weitere Informationen finden Sie unter JET_paramEnableAdvanced-Systemparameter im Thema Metaparameter .

JET_errAlreadyInitialized

Die instance wurde mithilfe eines JetInit-Aufrufs initialisiert, und dieser Vorgang kann daher nicht ausgeführt werden. Dies kann bei JetSetSystemParameter der Fall sein, wenn versucht wird, einen Systemparameter zu konfigurieren, nachdem sich eine Änderung des Werts nicht auf den Zustand der Datenbank-Engine auswirken kann.

JET_errClientRequestToStopJetService

Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf der instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden.

JET_errIndexTuplesInvalidLimits

Die angegebenen Tupelindexparameter waren unzulässig. Dieser Fehler kann von JetSetSystemParameter nur zurückgegeben werden, wenn JET_paramIndexTuplesLengthMin, JET_paramIndexTuplesLengthMax oder JET_paramIndexTuplesToIndexMax auf einen unzulässigen Wert festgelegt wird.

Windows XP und Windows Server 2003: Dies kann nur unter Windows XP und Windows Server 2003 geschehen.

JET_errInitInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance initialisiert wird.

JET_errInstanceUnavailable

Es ist nicht möglich, den Vorgang abzuschließen, da für die instance, die der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen.

Windows XP: Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben.

JET_errInvalidParameter

Einer der bereitgestellten Parameter enthielt einen unerwarteten Wert oder einen Wert, der in Kombination mit dem Wert eines anderen Parameters nicht sinnvoll war. Dies kann bei JetSetSystemParameter in folgenden Fällen der Fall sein:

  • Die angegebene Systemparameter-ID ist ungültig oder wird nicht unterstützt.

  • Es wurde versucht, einen Zeichenfolgenwertsystemparameter mit einer Zeichenfolge festzulegen, deren Länge außerhalb des zulässigen Bereichs für den Parameter lag.

  • Es wurde versucht, einen Systemparameter mit Zeichenfolgenwert mit einem Dateipfad festzulegen, bei dem die Länge der absoluten Pfaddarstellung außerhalb des gesetzlichen Bereichs für diesen Parameter lag.

    Windows Vista: Dies kann nur unter Windows Vista und späteren Versionen geschehen.

  • Es wurde versucht, einen ganzzahligen Systemparameter mit einer ganzen Zahl festzulegen, die außerhalb des zulässigen Bereichs für den Parameter lag.

  • Es wurde versucht, JET_paramUnicodeIndexDefault mit einem NULL-JET_UNICODEINDEX-Zeiger, einer ungültigen LCID oder einem nicht unterstützten Satz von LCMapString-Flags festzulegen.

    Windows Vista: Dies kann nur unter Windows Vista und späteren Versionen geschehen.

  • Der angegebene Systemparameter kann nicht festgelegt werden, da er schreibgeschützt ist.

  • Es wurde versucht, einen Systemparameter festzulegen, nachdem JetInit aufgerufen wurde, sich die Datenbank-Engine im Single-instance-Modus befindet und keine Sitzung angegeben wurde.

    Windows XP und Windows Server 2003: Dies kann nur unter Windows XP und Windows Server 2003 geschehen.

  • Der angegebene Systemparameter ist nur global, und es wurde versucht, einen instance spezifischen Wert für diesen Systemparameter festzulegen.

    Windows XP und Windows Server 2003: Dies kann nur unter Windows XP und Windows Server 2003 geschehen.

  • Der angegebene Systemparameter ist nur pro instance, und es wurde versucht, den globalen Wert für diesen Systemparameter festzulegen.

    Windows XP und Windows Server 2003: Dies kann nur unter Windows XP und Windows Server 2003 geschehen.

JET_errInvalidPath

Der angegebene Dateisystempfad war ungültig. Dieser Fehler kann von JetSetSystemParameter nur zurückgegeben werden, wenn Systemparameter festgelegt werden, die Dateisystempfade darstellen. Beispielsweise kann JET_paramSystemPath diesen Fehler zurückgeben.

JET_errNotInitialized

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da ein Wiederherstellungsvorgang für die instance ausgeführt wird, die der Sitzung zugeordnet ist.

JET_errTermInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance heruntergefahren wird.

JET_errInvalidSesid

Das Sitzungshandle ist ungültig oder bezieht sich auf eine geschlossene Sitzung.

Dieser Fehler wird nicht unter allen Umständen zurückgegeben. Handles werden nur auf der Grundlage des bestmöglichen Aufwands überprüft.

JET_errInvalidInstance

Das instance Handle ist ungültig oder bezieht sich auf eine instance, die heruntergefahren wurde.

Dieser Fehler wird nicht unter allen Umständen zurückgegeben. Handles werden nur auf der Grundlage des bestmöglichen Aufwands überprüft.

Windows Vista: Dieser Fehler wird nur von Windows Vista und späteren Versionen zurückgegeben.

Bei Erfolg wird die Einstellung für den Systemparameter auf den angegebenen Wert festgelegt.

Bei einem Fehler bleibt die Einstellung für den Systemparameter unverändert.

Bemerkungen

JetSetSystemParameter überprüft die ausgewählte Einstellung für jeden Systemparameter schlecht. Es muss darauf geachtet werden, sich nicht auf diese Überprüfung zu verlassen, um gute Einstellungen zu erzwingen. Achten Sie genau auf die Beschreibung der einzelnen Systemparameter, und befolgen Sie diese Richtlinien für eine gute Systemparametereinstellung.

Es gibt eine Reihe von Systemparametern, die immer festgelegt werden sollten, um sicherzustellen, dass die Datenbank-Engine wie gewünscht funktioniert. Insbesondere sollten alle Systemparameter, die sich auf das physische Layout der von der Datenbank-Engine verwendeten Dateien auswirken, immer festgelegt werden. Weitere Informationen finden Sie unter Systemparameter.

Jeder Systemparameter verfügt über einen Standardwert. Diese Standardwerte haben sich im Laufe der Zeit weiterentwickelt und sind recht willkürlich. Es wird dringend empfohlen, dass eine Anwendung alle Standardwerte auswertet, um sicherzustellen, dass sie geeignet sind. Wenn sie nicht geeignet sind, sollten sie von der Anwendung konfiguriert werden. Dies ist wichtig, da sich viele dieser Parameter erheblich auf die Zuverlässigkeit, Leistung und Ressourcennutzung der Datenbank-Engine auswirken können.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Implementiert als JetSetSystemParameterW (Unicode) und JetSetSystemParameterA (ANSI).

Weitere Informationen

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetGetSystemParameter
JetInit
Systemparameter