![]() |
Log file tables in a geodatabase in SQL Server |
|
| Release 9.3 | ![]() ![]() ![]() |
If you use stand-alone log files, for each selection set above the selection threshold made by a session, a new SDE_logdata<SDE_ID>_<#> table is created for each layer. The SDE_logfiles and SDE_logfile_data tables are also created per session, but the SDE_logfile_data table isn't populated. Both of these tables are created in the schema of the user who caused them to be created.
The SDE_logdata<SDE_ID> tables are truncated when the connecting session no longer needs the log files, and the tables are dropped when the session disconnects. The SDE_logfiles table is truncated when the connecting application disconnects.
If you use shared log files, two tables per DBMS user ID are created and stored in the schema of that DBMS user—SDE_logfiles and SDE_logfile_data. Once created, these tables remain in the geodatabase; however, all log file entries are deleted when the connecting application deletes all its log files.
The SDE_LOGFILE_POOL table is created and stored in the schema of the ArcSDE administrator when the geodatabase is created. If you use a pool of stand-alone or session-based log files owned by the ArcSDE administrator, this table will be used, plus SDE_LOGPOOL_<table_ID> tables will be created in the geodatabase. The number of SDE_logpool_<table_ID> tables created depends on the number you specify for the LOGFILEPOOLSIZE in the SDE_server_config table. In the example below, LOGFILEPOOLSIZE is set to 10; therefore, SDE_logpool tables 1 through 10 are created. In the SDE_logfiel_pool table for this example, there would be 10 records, with table_ids 1 through 10.
All the tables created for pools of log files are created in the ArcSDE administrator's schema.
NOTE: If MAXSTANDALONELOGS is set to a number greater than 0, and a user that has CREATE TABLE permissions creates a selection set that exceeds the threshold for log files to be created, a stand-alone log file table will be created in that user's schema.
The following are the definitions for the tables that are used for ArcSDE log files. SDE_logdata<SDE_ID>_<#>The SDE_logdata<SDE_ID>_<#> table contains the list of business table records that are part of a stand-alone log file. <SDE_ID> denotes the session ID and <#> denotes the stand-alone log file sequence. These tables are stored in the user's schema.| Field name | Field type | Description |
|---|---|---|
| sde_row_id | int | The row ID or shape ID of the business table row being logged; log files can log either row IDs or shape IDs. |
| Field name | Field type | Description |
|---|---|---|
| logfile_data_id | int | Identifies the log file to which the row ID belongs. The logfile_data_id is a reference to the log file metadata in SDE_logfiles. |
| sde_row_id | int | The row ID or shape ID of the business table row being logged; log files can log either row IDs or shape IDs. |
| Field name | Field type | Description |
|---|---|---|
| table_id | int | Identifies the log file pool table. |
| sde_id | int | 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. Nulls allowed. |
| Field name | Field type | Description |
|---|---|---|
| logfile_name | nvarchar(255) | A unique user-defined (or application-defined) name for the log file. |
| logifle_id | int | Uniquely identifies the log file. Primary key. |
| logfile_data_id | int | Identifies the log file to which the row ID belongs. |
| registration_id | int | The registration ID of the business table for which IDs are being logged in this log file. |
| flags | int | A bit mask of values that indicate properties of the log file. |
| session_tag | int | A unique identifier for a connection's session, which allows a given ArcSDE connection to purge all temporary log files belonging to its session, for example. |
| logfile_data_db | nvarchar(32) | The name of the database in which the table that's holding the IDs for this log file is stored. Nulls allowed. |
| logfile_data_owner | nvarchar(32) | The name of the owner of the table that's holding the IDs for this log file. Nulls allowed. |
| logfile_data_table | nvarchar(32) | The name of the table that is holding the IDs for this log file. This could be the traditional SDE_logfile_data or a log pool table, a session table, or a stand-alone SDE_logdata<SDE_ID>_<#> table. Nulls allowed. |
| 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 iID, but you can also specify an arbitrary integer column to be logged. Nulls allowed. |
| Field name | Field type | Description |
|---|---|---|
| logfile_data_id | int | Identifies the log file to which the row ID belongs. The logfile_data_id is a reference to the log file metadata in SDE_logfiles. |
| sde_row_id | int | The row ID or shape ID of the business table row being logged; log files can log either row IDs or shape IDs. |
| Field name | Field type | Description |
|---|---|---|
| logfile_data_id | int | Identifies the log file to which the row ID belongs. The logfile_data_id is a reference to the log file metadata in SDE_logfiles. Primary key. |
| sde_row_id | int | The row ID or shape ID of the business table row being logged; log files can log either row IDs or shape IDs. Primary key. |