Измерения, доступные для записи
Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Важно!
В следующей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Данные в измерении обычно предназначены только для чтения. Однако в некоторых сценариях может потребоваться сделать измерение доступным для записи. В Microsoft SQL Server SQL Server Analysis Services включение записи в измерение позволяет бизнес-пользователям изменять содержимое измерения и видеть немедленное влияние изменений на иерархии измерения. Можно разрешить запись в любое измерение, основанное на одной таблице. В измерении, доступном для записи, бизнес-пользователи и администраторы могут изменять, перемещать, добавлять и удалять элементы атрибутов в измерении. Эти обновления имеют общее название — обратная запись в измерение.
SQL Server Analysis Services поддерживает обратную запись измерений для всех атрибутов измерения, и любой член измерения может быть изменен. Для куба или секции, доступной для записи, обновления сохраняются в таблице обратной записи отдельно от исходных таблиц куба. Однако для измерений, доступных для записи, обновления записываются прямо в таблицу измерений. Кроме того, если измерение, доступное для записи, включено в куб с несколькими секциями, в котором некоторые (или все) их источники данных имеют копии таблицы измерений, то только оригинал этой таблицы будет обновлен во время процесса обратной записи.
Измерения и кубы, доступные для записи, обладают различными возможностями, дополняющими друг друга. Измерение, доступное для записи, дает бизнес-пользователям возможность обновлять элементы, в то время как куб, доступный для записи, дает им возможность обновлять значения ячеек. Хотя эти две возможности дополняют друг друга, не обязательно использовать их одновременно. Измерение не обязано содержаться в кубе для произведения обратной записи. Измерение, доступное для записи, может включаться даже в куб, недоступный для записи. Чтобы разрешить запись в измерения и в кубы, а также для сохранения их безопасности, используются различные процедуры.
На обратную запись в измерение наложены следующие ограничения:
при создании нового элемента необходимо включить в измерение каждый атрибут. Нельзя вставить элемент, не указав значение ключевого атрибута измерения. Следовательно, на создание элементов оказывают влияние любые ограничения (такие как ключевые значения, отличные от NULL), установленные в таблице измерений;
обратная запись в измерения поддерживается только для схем типа «звезда». Другими словами, измерение должно быть основано на единственной таблице измерений, непосредственно связанной с таблицей фактов. После включения записи измерения SQL Server Analysis Services проверяет это требование при развертывании в существующей базе данных SQL Server Analysis Services или при сборке проекта SQL Server Analysis Services.
Можно изменить или удалить любой существующий элемент измерения с обратной записью. Если удаляется элемент, удаление каскадным образом распространяется на всех его потомков. Например: в измерении «Заказчик» есть атрибуты «СтранаРегион», «Провинция», «Город» и «Заказчик». Удаление страны или региона повлечет за собой удаление всех принадлежащих этому объекту областей, городов и заказчиков. Если в стране или регионе всего одна область, ее удаление повлечет за собой удаление страны или региона.
Элементы измерения с обратной записью могут перемещаться только в рамках одного уровня. Например: город может быть перемещен на уровень «Город» в другой стране, регионе или области, но он не может переместиться на уровень «Провинция» или «СтранаРегион». В иерархии «родители-потомки» все элементы находятся на конечном уровне, и поэтому элемент можно переместить на любой уровень, кроме уровня (All) .
Если удаляется элемент иерархии «родители-потомки», потомки элемента перемещаются к его родителю. Чтобы удалить элемент, нужны разрешения на обновление реляционной таблицы, но разрешения для перемещения элементов не требуются. Когда приложение перемещает элемент в иерархии «родители-потомки», оно может в операции UPDATE указать, будут ли потомки элемента перемещаться вместе с ним или перейдут к его родителю. Для рекурсивного удаления элемента в иерархии «родители-потомки» у пользователя должны быть разрешения на обновление реляционной таблицы элемента и всех его потомков.
Примечание
Обновления родительского атрибута в такой иерархии не могут включать обновления других свойств или атрибутов.
Все изменения в измерении влекут за собой изменение структуры измерения. Любое изменение измерения рассматривается как одна транзакция, которая требует добавочной обработки для обновления структуры измерения. Измерения, доступные для записи, обладают теми же требованиями к обработке, что и любые другие.
Примечание
Обратная запись в измерения не поддерживается связанными измерениями.
Безопасность
Единственными бизнес-пользователями, которые могут обновить измерение с поддержкой записи, являются пользователи в SQL Server Analysis Services ролей базы данных, которым предоставлено разрешение на чтение и запись для измерения. Для каждой роли можно контролировать возможность обновления тех или иных элементов. Чтобы бизнес-пользователи могли обновлять измерения, доступные для записи, их клиентское приложение должно поддерживать такую возможность. Для таких пользователей измерение, доступное для записи, должно содержаться в кубе, который подвергался обработке с момента последнего изменения измерения. Дополнительные сведения см. в статье Авторизация доступа к объектам и операциям (службы Analysis Services).
Пользователи и группы, входящие в роль «Администраторы», могут обновлять элементы атрибутов и значения свойств связанных элементов измерения, доступного для записи, даже если оно не включено в куб.
См. также:
Свойства измерений базы данных
Секции с поддержкой записи
Измерения (службы Analysis Services — многомерные данные)