Схема набора данных — это поля и их определения, содержащиеся в этом наборе данных. При их изменении меняется и схема набора данных. Картографический сервис (слой изображения карты) по умолчанию использует блокировку схемы, чтобы предотвратить изменение схемы связанного набора данных во время работы сервиса. Блокировка схемы предотвращает непредвиденное поведение пользователей картографического сервиса, например отсутствие слоев и полей, сбои в запросах или недоступность сервиса.
В некоторых случаях может потребоваться изменение схемы набора данных, опубликованного как картографический сервис. Например, может потребоваться добавить новое поле в класс объектов, изменить подтипы, примененные к полю в классе объектов, добавить или удалить поле, изменить домены или изменить символы слоя на карте, из которой была выполнена публикация. В таких случаях важно тщательно спланировать изменение схемы перед внедрением.
Внесение изменений в схему
Рекомендуется подготовиться и выполнить изменения схемы во время плановой остановки сревиса в вашей организации.
Для изменения схемы следуйте инструкциям ниже.
- Определите сервисы, которые обращаются к наборам данных, требующим изменения схемы.
Для определения наборов данных, которые используются сервисом, откройте рабочую область сервиса для отдельных сервисов в ArcGIS Server Manager или ArcGIS Server от имени администратора сайта, запустите операцию манифеста сервиса в ArcGIS Server Administrator REST API.
- Войдите в ArcGIS Server Manager.
- Остановите все затрагиваемые сервисы.
- Внесите изменения в схему исходных данных.
- Запустите сервис в ArcGIS Server Manager .
При запуске сервиса он фиксирует изменения схемы, которые изменили существующие определения полей, например, изменения типа данных поля в базе геоданных или базе данных, поля, включенные для подтипов, подтипы, примененные к полю, домены, добавленные к полю, существующие измененные домены или измененные правила атрибутов.
Примечание:
Если вы добавили или удалили поле из исходной таблицы, вам придется перезаписать картографический сервис.
Изменения уровня карты и картографические сервисы
Чтобы изменения карты или слоя карты отражались в картографическом сервисе, вам необходимо перезаписать картографический сервис.
Изменения уровня карты — это изменения карты или настроек слоев на карте. Эти типы изменений включают, помимо прочего, следующее:
- Добавление или удаление слоя, включая слои топологии или классы отношений.
- Изменение псевдонима поля в слое карты или изменение псевдонима слоя карты
- Изменение символов, прозрачности или свойств надписей слоя.
- Применение масштабно-зависимого отображения
- Определение или изменение шаблона редактирования (применяется к картографическим сервисам с включенным доступом к объектам)
- Изменение определения слоя запроса, если источником является слой запроса.
Изменение настройки блокировки схемы картографического сервиса.
Для некоторых организаций, которые работают в соответствии со строгими соглашениями об уровне обслуживания (SLA), необходимо вносить изменения в схему, сохраняя при этом доступ к картографическому сервису. Чтобы свести к минимуму время простоя картографического сервиса, вы можете отключить блокировку схемы для картографического сервиса, что позволит вам изменять схему набора данных, на который ссылаются, без остановки картографического сервиса.
Прежде чем отключать блокировку схемы, учтите следующее:
- Если блокировка схемы отключена, рекомендуется обновлять схему только тогда, когда сервис простаивает. Если вы обновляете схему, когда сервис находится под нагрузкой, пользователи картографического сервиса могут столкнуться с неожиданным поведением, таким как отсутствие слоев и полей, сбои в запросах и недоступные сервисы.
- Изменение параметра блокировки схемы требует перезапуска сервиса. Кроме того, чтобы изменения были отражены, если вы отключите блокировку схемы для сервиса, вам необходимо либо перезапустить картографический сервис после завершения изменений схемы, которые изменяют определения существующих полей, либо перезаписать картографический сервис, если вы добавили или удалили поле.
- Вы не можете отключить блокировку схемы для картографических сервисов, настроенных для использования пула общих экземпляров.
Выполните следующие шаги, чтобы разрешить редактирование схемы во время работы картографического сервиса:
- Определите сервисы, которые получают доступ к наборам данных, требующим изменения схемы.
Для определения наборов данных, которые используются сервисом, откройте рабочую область сервиса для отдельных сервисов в ArcGIS Server Manager или ArcGIS Server от имени администратора сайта, запустите операцию манифеста сервиса в ArcGIS Server Administrator REST API.
- Войдите в ArcGIS Server Manager.
- Убедитесь, что картографический сервис не используется.
Чтобы определить, простаивает ли сервис, найдите интересующий картографический сервис в ArcGIS Server Manager и убедитесь, что значение Используемые экземпляры равно нулю.
- Выберите Сервисы > Управление сервисами.
- Найдите картографический сервис и щелкните Редактировать.
Примечание:
Если картографический сервис не отображается в списке, он может находиться во вложенной папке корневой директории Site. - Щелкните Параметры
- Снимите отметку Заблокировать схему базы данных.
- Нажмите Сохранить и перезапустить.
Картографический сервис не будет удерживать блокировки схемы для наборов данных, на которые он ссылается.
Изменения схемы теперь можно вносить во время работы картографического сервиса.
- Чтобы картографический сервис отразил изменения, выполните одно из следующих действий:
- Остановите и затем запустите сервис.
- Если вы добавляете или удаляете поля или вносите изменения на уровне карты, перезапишите сервис.
Примечание:
Отключение блокировки схемы для картографического сервиса предотвращает блокировку схемы только для этого сервиса. Другие приложения и сервисы ArcGIS, а также сторонние приложения по-прежнему могут получать эксклюзивные блокировки схемы. Если вы не можете обновить схему набора данных после отключения блокировки схемы для картографического сервиса, см. тему Блокировки многопользовательской базы геоданных.
Повторное включение блокировки схемы
Чтобы предотвратить внесение изменений в схему во время работы сервиса, выполните следующие действия:
- Выберите Сервисы > Управление сервисами.
- Найдите картографический сервис и щелкните Редактировать.
Примечание:
Если картографический сервис не отображается в списке, он может находиться во вложенной папке корневой директории Site. - Щелкните Параметры
- Поставьте отметку Заблокировать схему базы данных.
- Нажмите Сохранить и перезапустить.
Картографический сервис больше не позволит вносить изменения в схему набора данных, на который ссылается, во время работы сервиса.