ArcSDE-Protokolldateitabellen in einer Geodatabase in SQL Server

Eine Geodatabase speichert Listen mit Tabellenzeilen mithilfe von Protokolldateitabellen.

Weitere Informationen finden Sie unter Konfigurationsoptionen für Protokolldateitabellen in SQL Server-Geodatabases.

Protokolldateitabellen in ArcGIS for Desktop

Protokolldateitabellen können in ArcGIS for Desktop nicht angezeigt werden. Protokolldateitabellen werden erstellt und mit Daten gefüllt, wenn durch Ihre Auswahl in ArcMap mehr als 100 Features zurückgegeben werden.

Protokolldateitabellen in einer SQL Server-Datenbank

Wenn Sie ArcSDE erstmals installieren und eine Geodatabase in SQL Server erstellen, verwendet die Standardkonfiguration für Protokolldateien sitzungsbasierte Protokolldateien, die in der SQL Server-Datenbank tempdb erstellt werden. Jede Client-Sitzung, die eine Protokolldateitabelle erfordert, hat eine dedizierte Protokolldateitabelle in dieser Datenbank. Wenn Sie diese Standardkonfiguration verwenden, werden die Sitzungsprotokolldateitabellen daher nicht in der Geodatabase angezeigt.

Wenn Sie die vorgegebene Protokolldateikonfiguration ändern, sehen Sie andere Protokolldateitabellen in der Geodatabase abhängig davon, wie die Protokolldateikonfiguration geändert wird. Wenn Sie statt tempdb sitzungsbasierte Protokolldateien in der Geodatabase verwenden, werden die Tabellen "SDE_logfiles", "SDE_logfile_data" und "SDE_session<SDE_ID>" in der Geodatabase angezeigt. Diese Tabellen werden im Schema des Benutzers erstellt, dessen Sitzung die Tabellen erzeugt hat. Die Tabelle "SDE_logfile_data" wird zwar erstellt, aber nicht ausgefüllt. Die Tabellen "SDE_logfiles" und "SDE_logfile_data" bleiben in der Geodatabase, die Tabelle "SDE_logfiles" wird jedoch abgeschnitten, sobald die verbindende Anwendung getrennt wird. Die Tabelle "SDE_session<SDE_ID>" wird abgeschnitten, wenn die verbindende Anwendung die Protokolldateidatensätze nicht mehr benötigt (für ArcMap bedeutet dies, es gibt keinen Auswahlsatz mehr), und die Tabelle wird verworfen, sobald die Sitzung getrennt wird.

Gestrichelte Linien in den folgenden Diagrammen geben eine implizite Beziehung zwischen Tabellen an.

Sitzungsbasierte ArcSDE-Protokolldateitabellen in SQL Server

Wenn Sie eigenständige Protokolldateien verwenden, wird für jeden Auswahlsatz oberhalb des Auswahlgrenzwertes für eine Sitzung eine neue Tabelle "SDE_logdata<SDE_ID>_<#>" für jeden Layer erstellt. Die Tabellen "SDE_logfiles" und "SDE_logfile_data" werden ebenfalls pro Sitzung erstellt, doch "SDE_logfile_data" wird nicht ausgefüllt. Beide Tabellen werden im Schema des Benutzers erstellt, der die Erstellung verursacht hat.

Die "SDE_logdata<SDE_ID>"-Tabellen werden abgeschnitten, wenn die verbindende Sitzung die Protokolldateien nicht mehr benötigt. Die Tabellen werden gelöscht, sobald die Sitzung getrennt wird. Die Tabelle "SDE_logfiles" wird abgeschnitten, wenn die verbindende Anwendung getrennt wird.

Eigenständige ArcSDE-Protokolldateitabellen in SQL Server

Wenn Sie freigegebene Protokolldateien verwenden, werden zwei Tabellen pro DBMS-Benutzer-ID erstellt und im Schema dieses DBMS-Benutzers gespeichert – "SDE_logfiles" und "SDE_logfile_data". Einmal erstellt bleiben diese Tabellen in der Geodatabase; alle Protokolldateieinträge werden jedoch gelöscht, wenn die verbindende Anwendung alle ihre Protokolldateien löscht.

Gemeinsame ArcSDE-Protokolldateitabellen in SQL Server

Die Tabelle SDE_LOGFILE_POOL wird im Schema des ArcSDE-Administrators erstellt und gespeichert, wenn die Geodatabase erstellt wird. Wenn Sie einen Pool eigenständiger oder sitzungsbasierter Protokolldateien verwenden, die dem ArcSDE-Administrator gehören, wird diese Tabelle verwendet und zusätzlich werden SDE_LOGPOOL_<table_ID>-Tabellen in der Geodatabase erstellt. Die Anzahl der erstellten SDE_logpool_<table_ID>-Tabellen hängt von der Zahl ab, die Sie für LOGFILEPOOLSIZE in der Tabelle "SDE_server_config" angeben. Im Beispiel unten ist LOGFILEPOOLSIZE auf 10 festgelegt, daher werden die SDE_logpool-Tabellen 1 bis 10 erstellt. In der Tabelle "SDE_logfiel_pool" für dieses Beispiel würde es 10 Datensätze geben, mit Tabellen-ID 1 bis 10.

Alle für Pools von Protokolldateien erstellten Tabellen werden im Schema des ArcSDE-Administrators erstellt.

ArcSDE-Protokolldateitabellen-Pool in SQL Server

Systemtabellen für Protokolldateien

Im Folgenden finden Sie Definitionen für die Tabellen, die für ArcSDE-Protokolldateien verwendet werden.

SDE_logdata<SDE_ID>_<#>

Die Tabelle SDE_logdata_<sde_ID>_<#> enthält die Liste der Datensätze in der Business-Tabelle, die Teil einer eigenständigen Protokolldatei sind. Der Name der Tabelle enthält die Sitzungs-ID und eigenständige Protokolldateisequenz. Diese Tabelle gehört dem Benutzer, durch den die Tabelle erzeugt wurde.

Feldname

Feldtyp

Beschreibung

Null?

sde_row_id

integer

Die Zeilen-ID oder Shape-ID der Business-Tabellenzeile, die protokolliert wird.

NOT NULL

SDE_logfile_data

Die Tabelle SDE_logfile_data enthält die Liste der Datensätze in der Business-Tabelle, die Teil jeder Protokolldatei sind. Diese Tabelle gehört dem Benutzer, durch den die Tabelle erzeugt wurde.

Feldname

Feldtyp

Beschreibung

Null?

logfile_data_id

integer

Identifiziert, zu welcher Protokolldatei die Zeilen-ID gehört. "logfile_data_id" ein Verweis auf die Protokolldatei-Metadaten in "SDE_logfiles".

NOT NULL

sde_row_id

integer

Die Zeilen-ID oder Shape-ID der Business-Tabellenzeile, die protokolliert wird; in Protokolldateien können entweder Zeilen-IDs, Shape-IDs oder Benutzer-IDs protokolliert werden.

NOT NULL

row_id

integer

Identifiziert einen Datensatz eindeutig und aktiviert das Entfernen doppelter "<logfile_data_id, sde_row_id>"-Werte.

SDE_logfile_pool

Die Tabelle SDE_logfile_pool enthält eine Liste der aktuell ausgecheckten Protokolldateien. Diese Tabelle wird nach der Geodatabase-Erstellung erstellt und gehört dem Geodatabase-Administrator.

Feldname

Feldtyp

Beschreibung

Null?

table_id

integer

Gibt die Tabelle für den Protokolldatei-Pool an.

NOT NULL

sde_id

integer

Identifiziert, welche sde-Verbindung die gegebene Protokolldatei-Pool-Tabelle aktuell verwendet. "sde_id" verweist auf die Spalte "sde_id" der Tabelle "process_information". Wenn "sde_id" den Wert NULL aufweist, wird diese Protokolldatei-Pool-Tabelle derzeit nicht verwendet.

SDE_logfiles

Die Tabelle SDE_logfiles enthält die Metadaten der Protokolldatei. Diese Tabelle gehört dem Benutzer, durch den die Tabelle erzeugt wurde.

Feldname

Feldtyp

Beschreibung

Null?

logfile_name

nvarchar(255)

Ein eindeutiger, benutzerdefinierter (oder anwendungsdefiniert) Name für die Protokolldatei.

NOT NULL

logfile_id

integer

Gibt die Protokolldatei eindeutig an.

NOT NULL

logfile_data_id

integer

Gibt an, zu welcher Protokolldatei die Zeilen-ID gehört.

Eine neue "logfile_data_id" wird immer dann zugewiesen, wenn eine Protokolldatei abgeschnitten wird, um teure Löschvorgänge zu vermeiden.

NOT NULL

registration_id

integer

Die Registrierungs-ID der Business-Tabelle, für die IDs in dieser Protokolldatei protokolliert werden.

NOT NULL

flags

integer

Eine Bitmaske von Werten, die Eigenschaften der Protokolldatei angeben.

NOT NULL

session_tag

integer

Eine eindeutige Kennung für die Sitzung einer Verbindung. Damit können z. B. alle temporären Protokolldateien, die zu ihrer Sitzung gehören, bereinigt werden.

NOT NULL

logfile_data_db

nvarchar(32)

Der Name der Datenbank, in der die Tabelle mit den IDs für diese Protokolldatei gespeichert ist.

logfile_data_owner

nvarchar(32)

Der Name des Besitzers der Tabelle mit den IDs für diese Protokolldatei.

logfile_data_table

nvarchar(32)

Der Name der Tabelle, in der die IDs für diese Protokolldatei enthalten sind. Dies kann die herkömmliche "SDE_logfile_data" sein, oder eine Protokollpooltabelle, eine Sitzungstabelle oder eine eigenständige SDE_logdata<SDE_ID>_<#>-Tabelle.

column_name

nvarchar(32)

Der Name der Spalte in der Business-Tabelle, die protokolliert wird. In der Regel ist dies die Zeilen-ID oder Shape-ID. Sie können jedoch auch eine beliebige ganzzahlige Spalte angeben, die protokolliert werden soll.

SDE_logpool_<table_id>

Die Tabelle SDE_logfile_pool enthält eine Liste der aktuell ausgecheckten Protokolldateien. Diese Tabelle wird nach der Geodatabase-Erstellung erstellt und gehört dem Geodatabase-Administrator.

Feldname

Feldtyp

Beschreibung

Null?

logfile_data_id

integer

Gibt an, zu welcher Protokolldatei die Zeilen-ID gehört.

Eine neue "logfile_data_id" wird immer dann zugewiesen, wenn eine Protokolldatei abgeschnitten wird, um teure Löschvorgänge zu vermeiden. Die "logfile_data_id" ist ein Verweis auf die "logfile"-Metadaten in "sde_logfiles".

NOT NULL

sde_row_id

integer

Die Zeilen-ID oder Shape-ID der Business-Tabellen-Zeile, die protokolliert wird; Protokolldateien können entweder Zeilen-IDs oder Shape-IDs protokollieren.

NOT NULL

SDE_session<SDE_ID>

Die Tabelle SDE_session<sde_ID> wird erstellt, wenn Sie sitzungsbasierte Protokolldateien verwenden. Diese Tabelle wird verwendet, um Protokolldateidatensätze zu verfolgen, wenn eine verbundene Sitzung einen Auswahlsatz mit mehr Datensätzen als vom Anwendungsschwellenwert definiert erzeugt (100 Datensätze in ArcMap). Die Tabelle SDE_session<sde_ID> wird verworfen, wenn die Sitzung getrennt wird.

Feldname

Feldtyp

Beschreibung

Null?

logfile_data_id

integer

Identifiziert, zu welcher Protokolldatei die Zeilen-ID gehört. "logfile_data_id" ein Verweis auf die Protokolldatei-Metadaten in "SDE_logfiles".

NOT NULL

sde_row_id

integer

Die Zeilen-ID oder Shape-ID der Business-Tabellen-Zeile, die protokolliert wird; Protokolldateien können entweder Zeilen-IDs oder Shape-IDs protokollieren.

NOT NULL

Protokolldateitabellen in einem XML-Dokument

In XML-Dokumenten werden keine Protokolldateitabellen gespeichert. Wenn Sie das Geodatabase-Schema in ein XML Workspace-Dokument exportieren, nachdem Sie das Schema importiert haben, werden die Protokolldateitabellen daher neu erzeugt, sobald Benutzer das nächste Mal einen Auswahlsatz mit mehr Datensätzen als dem Protokolldateischwellenwert erstellen.

9/11/2013