SQL Server に格納されたジオデータベースの ArcSDE ログ ファイル テーブル
ジオデータベースはログ ファイル テーブルを使用してテーブル行のリストを保持します。
詳細については、「SQL Server の ArcSDE ログ ファイル設定オプション」をご参照ください。
ArcGIS for Desktop のログ ファイル テーブル
ArcGIS for Desktop ではログ ファイル テーブルを確認することはできません。ただし、ArcMap で選択セットに 100 個以上のフィーチャが含まれる選択を行うと、ログ ファイル テーブルが作成され、フィーチャが設定されます。
SQL Server データベースのログ ファイル テーブル
SQL Serverに ArcSDE を最初にインストールしてジオデータベースを作成した場合、デフォルトのログ ファイル構成では、SQL Serverの tempdb データベースに作成されたセッションベースのログ ファイルが使用されます。ログ ファイル テーブルを必要とする各クライアント セッションは、このデータベースに専用のログ ファイル テーブルを持ちます。したがって、このデフォルト構成を使用する場合、セッションのログ ファイル テーブルはジオデータベースに存在しません。
ログ ファイル構成をデフォルト以外に変更した場合、ログ ファイル構成をどのように変更したかに応じて、ジオデータベースに異なるログ ファイル テーブルが定義されます。tempdb の代わりにジオデータベースに作成されるセッションベースのログ ファイルを使用する場合、ジオデータベースに SDE_logfiles、SDE_logfile_data、SDE_session<SDE_ID> テーブルが作成されます。これらのテーブルは、テーブルが作成されたセッションのユーザのスキーマに作成されます。SDE_logfile_data テーブルは、作成されるだけで、データは設定されません。SDE_logfiles テーブルと SDE_logfile_data テーブルはジオデータベースに残りますが、SDE_logfiles テーブルはアプリケーションの接続が切断されたときに空になります。SDE_session<SDE_ID> テーブルは、接続しているアプリケーションでログ ファイルのレコードが不要になった時点で空になり(ArcMap では、これは選択セットが存在しない状態を意味します)、セッションの終了時に削除されます。
次の図で、破線はテーブル間の暗黙的なリレーションシップを示しています。
スタンドアロンのログ ファイルを使用する場合、セッションの選択セットが閾値を超えると、各レイヤに新しい SDE_logdata<SDE_ID>_<#> テーブルが作成されます。SDE_logfiles テーブルと SDE_logfile_data テーブルはセッションごとに作成されますが、SDE_logfile_data テーブルにはデータは設定されません。これらのテーブルは、それらの作成につながる操作を行ったユーザのスキーマに作成されます。
SDE_logdata<SDE_ID> テーブルは、接続しているセッションでログ ファイルが不要になった時点で空になり、セッションの終了時に削除されます。SDE_logfiles テーブルは、アプリケーションの接続が切断されたときに空になります。
共有ログ ファイルを使用する場合は、DBMS のユーザ ID ごとにテーブルが 2 つ作成され(SDE_logfiles および SDE_logfile_data)、その DBMS ユーザのスキーマに格納されます。作成されたテーブルはジオデータベースに保存されますが、接続しているアプリケーションがそのログ ファイルをすべて削除するとログ ファイル エントリもすべて削除されます。
SDE_logfile_pool テーブルは、ジオデータベースの作成時に ArcSDE 管理者のスキーマに作成され、格納されます。ArcSDE 管理者が所有するスタンドアロンまたはセッションベースのログ ファイルのプールを使用する場合には、このテーブルが使用されるだけでなく、SDE_logpool_<table_ID> テーブルがジオデータベースに作成されます。作成される SDE_logpool_<table_ID> テーブルの数は、SDE_server_config テーブルの LOGFILEPOOLSIZE に指定する値によります。次の例では、LOGFILEPOOLSIZE は 10 に設定されているので、SDE_logpool_1 ~SDE_logpool_10 が作成されています。この例の SDE_logfile_pool テーブルには、table_ID が 1 ~ 10 の 10 個のレコードが存在します。
ログ ファイルのプールに作成されるテーブルはすべて、ArcSDE 管理者のスキーマに作成されます。
ログ ファイル用のシステム テーブル
次に、ArcSDE ログ ファイルに使用されるテーブルの定義を示します。
SDE_logdata<SDE_ID>_<#>
SDE_logdata_<sde_ID>_<#> テーブルには、スタンドアロン ログ ファイルの一部であるビジネス テーブルのレコードのリストが含まれます。テーブルの名前にはセッション ID とスタンドアロン ログ ファイルの連番が含まれます。このテーブルの所有者は、テーブルの作成につながる操作を行ったユーザです。
フィールド名 |
フィールド タイプ |
説明 |
NULL? |
---|---|---|---|
sde_row_id |
integer |
The row id or shape id of the business table row being logged |
NOT NULL |
SDE_logfile_data
SDE_logfile_data テーブルには、各ログ ファイルの一部であるビジネス テーブルのレコードのリストが含まれます。このテーブルの所有者は、テーブルの作成につながる操作を行ったユーザです。
フィールド名 |
フィールド タイプ |
説明 |
NULL? |
---|---|---|---|
logfile_data_id |
integer |
RowID が属しているログ ファイルを特定します。logfile_data_id は、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
SDE_logfile_pool テーブルは、現在チェックアウトされているログ ファイルのリストを管理します。このテーブルは、ジオデータベースの作成時に作成され、ジオデータベース管理者によって所有されます。
フィールド名 |
フィールド タイプ |
説明 |
NULL? |
---|---|---|---|
table_id |
integer |
ログ ファイル プール テーブルの ID。 |
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
SDE_logfiles テーブルにはログ ファイルのメタデータが含まれます。このテーブルの所有者は、テーブルの作成につながる操作を行ったユーザです。
フィールド名 |
フィールド タイプ |
説明 |
NULL? |
---|---|---|---|
logfile_name |
nvarchar(255) |
ログ ファイルの一意なユーザ定義(またはアプリケーション定義)名。 |
NOT NULL |
logfile_id |
integer |
ログ ファイルの一意な ID。 |
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 |
このログ ファイルに ID が記録されているビジネス テーブルの登録 ID。 |
NOT NULL |
flags |
integer |
ログ ファイルのプロパティを示す値のビットマスク。 |
NOT NULL |
session_tag |
integer |
接続のセッションの一意な ID。この ID によって、たとえば、特定の接続でそのセッションに属しているすべてのテンポラリ ログ ファイルを削除することが可能です。 |
NOT NULL |
logfile_data_db |
nvarchar(32) |
このログ ファイルの ID を保持しているテーブルが格納されているデータベースの名前。 |
|
logfile_data_owner |
nvarchar(32) |
このログ ファイルの ID を保持しているテーブルの所有者の名前。 |
|
logfile_data_table |
nvarchar(32) |
このログ ファイルの ID を保持しているテーブルの名前。従来の SDE_logfile_data、ログ プール テーブル、セッション テーブル、またはスタンドアロンの SDE_logdata<SDE_ID>_<#> テーブルが該当します。 |
|
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>
SDE_logfile_pool テーブルは、現在チェックアウトされているログ ファイルのリストを管理します。このテーブルは、ジオデータベースの作成時に作成され、ジオデータベース管理者によって所有されます。
フィールド名 |
フィールド タイプ |
説明 |
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>
SDE_session<sde_ID> テーブルは、セッションベースのログ ファイルを使用している場合に作成されます。このテーブルは、セッションにおいてアプリケーションの閾値(ArcMap では 100 レコード)を超える選択セットが作成されたときに、ログ ファイルのレコードを追跡するために使用されます。SDE_session<sde_ID> テーブルは、セッションの終了時に削除されます。
フィールド名 |
フィールド タイプ |
説明 |
NULL? |
---|---|---|---|
logfile_data_id |
integer |
RowID が属しているログ ファイルを特定します。logfile_data_id は、SDE_logfiles のログ ファイル メタデータへの参照です。 |
NOT NULL |
sde_row_id |
integer |
ログに記録されるビジネス テーブル行の RowID または ShapeID。ログ ファイルは RowID または ShapeID のどちらかで記録されます。 |
NOT NULL |
XML ドキュメントのログ ファイル テーブル
ログ ファイル テーブルは XML ドキュメントに格納されません。つまり、ジオデータベース スキーマを XML ワークスペース ドキュメントにエクスポートした場合は、スキーマをインポートした後で、ログ ファイル閾値を超える選択セットをユーザが作成したときに再度ログ ファイル テーブルが作成されます。