JetSetSystemParameter-Funktion

Gilt für: Windows | Windows Server

JetSetSystemParameter-Funktion

Mit der JetSetSystemParameter-Funktion werden die zahlreichen Konfigurationseinstellungen der Datenbank-Engine festgelegt.

    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 -Instanz 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 spätere Versionen ist dieser Parameter etwas überladen. Wenn die Engine im Legacymodus (Windows 2000-Kompatibilitätsmodus) ausgeführt wird, in dem nur eine Instanz unterstützt wird, kann dieser Parameter NULL sein oder die tatsächliche Instanz enthalten, die von JetInitzurückgegeben wird. In beiden Fällen werden alle Systemparametereinstellungen aus dieser einen Instanz gelesen. Wenn die Engine im Modus mit mehreren Instanzen ausgeführt wird, kann dieser Parameter NULL oder ein Zeiger auf eine Instanz sein, die mit JetInit oder JetCreateIndex erstellt wurde. Wenn dieser Parameter NULL ist, wird die globale Systemparametereinstellung (oder der Standardwert) gelesen. Wenn dieser Parameter eine -Instanz ist, wird die Systemparametereinstellung für diese Instanz gelesen.

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

sesid

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

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

paramid

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

lParam

Gibt den Wert an, der für den ausgewählten Systemparameter festgelegt werden soll, wenn dieser Systemparameter einen ganzzahligen Typ auf hat.

szParam

Gibt den Wert für den ausgewählten Systemparameter an, wenn dieser Systemparameter einen Zeichenfolgentyp auf hat.

Rückgabewert

Diese Funktion gibt den JET_ERR datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine Errors and Error Handling Parameters.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

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

JET_errAlreadyInitialized

Die -Instanz wurde mithilfe eines Aufrufs von JetInit 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 abschließen, da alle Aktivitäten auf der -Instanz, die der Sitzung zugeordnet ist, aufgrund eines Aufrufs von JetStopService beendet wurden.

JET_errIndexTuplesInvalidLimits

Die angegebenen Tupelindexparameter waren ungültig. Dieser Fehler kann nur von JetSetSystemParameter zurückgegeben werden, wenn JET_paramIndexTuplesLengthMin , JET_paramIndexTuplesLengthMaxoder JET_paramIndexTuplesToIndexMax auf einen ungültigen Wert festgelegt wird.

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

JET_errInitInProgress

Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete Instanz initialisiert wird.

JET_errInstanceUnavailable

Der Vorgang kann nicht abgeschlossen werden, da für die der Sitzung zugeordnete Instanz 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 xp Windows 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 für JetSetSystemParameter der Fall sein, wenn:

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

  • Es wurde versucht, einen Systemparameter mit Zeichenfolgenwert mit einer Zeichenfolge zu setzen, deren Länge außerhalb des rechtlichen Bereichs für den Parameter liegt.

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

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

  • Es wurde versucht, einen Ganzzahlwert-Systemparameter mit einer ganzen Zahl zu setzen, die außerhalb des rechtlichen Bereichs für den Parameter liegt.

  • Es wurde versucht, JET_paramUnicodeIndexDefault NULL-JET_UNICODEINDEX, eine ungültige LCID oder einen nicht unterstützten Satz von LCMapString-Flags zu setzen.

    Windows Vista: Dies kann nur in 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 Einzelinstanzmodus befindet und keine Sitzung angegeben wurde.

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

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

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

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

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

JET_errInvalidPath

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

JET_errNotInitialized

Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete Instanz noch nicht initialisiert wurde.

JET_errRestoreInProgress

Der Vorgang kann nicht abgeschlossen werden, da ein Wiederherstellungsvorgang für die -Instanz durchgeführt wird, die der Sitzung zugeordnet ist.

JET_errTermInProgress

Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete Instanz heruntergefahren wird.

JET_errInvalidSesid

Das Sitzungshandy ist ungültig oder verweist auf eine geschlossene Sitzung.

Dieser Fehler wird nicht unter allen Umständen zurückgegeben. Handles werden nur nach bestem Aufwand überprüft.

JET_errInvalidInstance

Das Instanzhand handle ist ungültig oder verweist auf eine Instanz, die heruntergefahren wurde.

Dieser Fehler wird nicht unter allen Umständen zurückgegeben. Handles werden nur nach bestem Aufwand ü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 führt eine schlechte Validierung der ausgewählten Einstellung für jeden Systemparameter durch. Es muss darauf achten, dass sie sich nicht auf diese Überprüfung verlassen, um gute Einstellungen zu erzwingen. Achten Sie besonders auf die Beschreibung der einzelnen Systemparameter, und befolgen Sie diese Richtlinien, um eine gute Systemparametereinstellung zu erhalten.

Es gibt eine Reihe von Systemparametern, die immer festgelegt werden sollten, um zu gewährleisten, dass die Datenbank-Engine wie vorgesehen 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 hat 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 viele dieser Parameter die Zuverlässigkeit, Leistung und Ressourcenauslastung der Datenbank-Engine stark beeinträchtigen 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.

Header

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