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 Desktop

Protokolldateitabellen werden in ArcGIS Desktop nicht angezeigt. 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

The row id or shape id of the business table row being logged

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

The row id or shape id of the business table row being logged; log files can log either row ids, shape ids, or user ids.

NOT NULL

row_id

integer

Uniquely identifies a record and enables removal of duplicate <logfile_data_id,sde_row_id> values

SDE_logfile_pool

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

Feldname

Feldtyp

Beschreibung

Null?

table_id

integer

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

NOT NULL

sde_id

integer

Identifies which sde connection is currently using the given log file pool table The sde_id is a reference to the sde_id column of the process_information table. If sde_id is NULL, it means this log file pool table is not currently in use.

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

Identifies to which log file the row id belongs

New logfile_data_ids are assigned whenever a log file is truncated to avoid expensive delete operations.

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, durch die beispielsweise eine bestimmte ArcSDE-Verbindung alle temporären Protokolldateien für die Sitzung löschen kann.

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)

The name of the column in the business table that is being logged Generally, this is the row id or shape id, but you can also specify an arbitrary integer column to be logged.

SDE_logpool_<table_id>

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

Feldname

Feldtyp

Beschreibung

Null?

logfile_data_id

integer

Identifies to which log file the row id belongs

New logfile_data_ids are assigned whenever a log file is truncated to avoid expensive delete operations. The logfile_data_id is a reference to the logfile metadata in sde_logfiles.

NOT NULL

sde_row_id

integer

The row id or shape id of the business table row being logged; log files can log either row ids or shape ids.

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.


7/10/2012