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.
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.
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.
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.
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.