Поделиться через


Элемент Lock (XML для аналитики)

Блокирует указанный объект в экземпляре Analysis Services.

Синтаксис

  
<Command>  
   <Lock>  
      <ID>...</ID>  
      <Object>...</Object>  
      <Mode>...</Mode>  
   </Lock>  
</Command>  

Характеристики элемента

Характеристика Описание
Тип данных и длина Нет
Значение по умолчанию Нет
Кратность от 0 до n: необязательный элемент, который может встречаться несколько раз.

Связи элементов

Связь Элемент
Родительские элементы Команда
Дочерние элементы ID, Mode, Object

Комментарии

Команда Lock блокирует объект для совместного или монопольного использования в контексте текущей активной транзакции. Явно выполнять команду Lock могут только администраторы базы данных или администраторы сервера. Блокировка объекта не позволяет фиксировать транзакции, пока она не будет снята. Analysis Services поддерживает два типа блокировок: разделяемые и монопольные блокировки.

Analysis Services позволяет блокировать только базы данных. Элемент Object должен содержать ссылку на объект базы данных Analysis Services. Если элемент Object не указан или если элемент Object ссылается на объект, отличающийся от базы данных, возникает ошибка.

Другие команды неявно выдают команду Lock в Analysis Services базу данных. Любая операция по чтению данных или метаданных из базы данных, например любой метод Discover или метод Execute , запускающий команду Statement , неявно устанавливает совмещаемую блокировку для базы данных. Любая транзакция, которая фиксирует изменения в данных или метаданных в объекте в Analysis Services базе данных, например метод EXECUTE , выполняющий команду ALTER , неявно выдает монопольную блокировку базы данных.

Все блокировки удерживаются в контексте текущей транзакции. После фиксации или отката текущей транзакции все блокировки, определенные в рамках транзакции, автоматически снимаются.