サービスの稼働中に、ArcGIS Server マップ サービスはスキーマ ロックを使用して、ユーザーがソース データセット スキーマを変更できないようにします。デフォルトでは、マップ サービスでスキーマ ロックは有効に設定されています。スキーマ内の行を選択的に更新するのとは反対にフィーチャクラスを置き換るなど、ワークフローで、マップ サービスを停止しないで定期的にデータセットのスキーマを更新する必要がある場合は、ArcGIS Server Manager または ArcMap を使用してスキーマ ロックを無効にすることができます。
スキーマ ロックを無効にした場合、Esri では、サービスがアイドル状態のときにのみソース データセット スキーマを更新することをお勧めします。サービスに負荷がかかっているときにデータセット スキーマを更新すると、マップ サービスのユーザーは、レイヤーやフィールドの欠落、クエリの失敗、サービスを利用できないなど、予期しない動作を経験することがあります。データセットのスキーマの変更は慎重に計画する必要があります。データセットを完全に削除すると、マップ サービスが整合性のない状態のままになる可能性があります。
メモ:
マップ サービスでスキーマ ロックを無効にした場合でも、他の ArcGIS アプリケーションやサービスはスキーマに対する排他ロックを取得できる場合があります。スキーマ ロックを無効にした後にデータセットのスキーマを更新できない場合は、「スキーマ ロック」をご参照ください。このトピックでは、ロックによってスキーマの更新ができなくなることについてわかりやすく説明します。
スキーマ ロックを無効にするには、下記のいずれかの手順に従います。
ArcGIS Server Manager でのスキーマ ロックの無効化
- ArcGIS Server Manager を起動し、ログインします。
- [サービス] > [サービスの管理] の順にクリックします。
- [サービスの管理] モジュールで、マップ サービスを検索して [編集] をクリックします。
マップ サービスがリストに表示されていない場合は、[サイト (ルート)] フォルダー以下のサブフォルダーにある場合があります。
- [パラメーター] タブをクリックします。
- [パラメーター] タブで、[データベース スキーマのロック] をオフにします。
- [保存して再起動] をクリックします。
マップ サービスで参照されるすべてのデータセットについてスキーマ ロックが無効になります。
ArcMap でのスキーマ ロックの無効化
- ArcCatalog または ArcMap を起動します。
- [カタログ] ツリーで [GIS サーバー] ノードを展開します。
- [ArcGIS Server サーバーの追加] をダブルクリックし、サーバーへの [GIS サーバーを管理する] 接続を確立します。接続手順については、「ArcGIS Desktop から ArcGIS Server への接続」をご参照ください。管理者接続を確立済みの場合は、この手順を省略できます。
- ArcGIS Server への接続内で、編集するマップ サービスを右クリックして [サービス プロパティ] を選択します。
- [パラメーター] タブをクリックします。
- [パラメーター] タブで、[詳細] をクリックします。
- [高度な設定] ダイアログ ボックスで [schemaLockingEnabled] プロパティを [false] に設定します。
- [OK] をクリックします。
- [サービス エディター] ダイアログで、[OK] をクリックします。
マップ サービスで参照されるすべてのデータセットについてスキーマ ロックが無効になります。