Создание и изменение объектов (XMLA)

Основные объекты могут быть независимо созданы, изменены и удалены. Основные объекты включают следующие объекты:

  • Servers

  • Databases

  • Измерения

  • Кубов

  • Группы мер

  • Перегородки

  • Перспективы

  • Майнинговые модели

  • Роли

  • Команды, связанные с сервером или базой данных

  • Источники данных

Команда Create используется для создания основного объекта в экземпляре Microsoft SQL Server SQL Server Analysis Services и команды Alter для изменения существующего основного объекта в экземпляре. Обе команды выполняются с помощью метода Execute .

Создание объектов

При создании объектов с помощью метода Create необходимо сначала определить родительский объект, содержащий объект SQL Server Analysis Services, который будет создан. Вы определяете родительский объект, предоставляя ссылку на объект в свойстве ParentObject команды Create . Каждая ссылка на объект содержит идентификаторы объектов, необходимые для уникальной идентификации родительского объекта для команды Create . Дополнительные сведения о ссылках на объекты см. в разделе "Определение и идентификация объектов" (XMLA).

Например, необходимо указать ссылку на объект куба, чтобы создать новую группу мер для куба. Ссылка на объект для куба в свойстве ParentObject содержит идентификатор базы данных и идентификатор куба, так как один и тот же идентификатор куба может использоваться в другой базе данных.

Элемент ObjectDefinition содержит элементы языка сценариев служб Analysis Services (ASSL), определяющие созданный основной объект. Дополнительные сведения о ASSL см. в статье "Разработка с помощью языка сценариев служб Analysis Services" (ASSL).

Если для атрибута AllowOverwrite команды Create задано значение true, можно перезаписать существующий основной объект с указанным идентификатором. В противном случае возникает ошибка, если основной объект с указанным идентификатором уже существует в родительском объекте.

Дополнительные сведения о команде Create см. в разделе Create Element (XMLA).

Создание объектов сеанса

Объекты сеанса являются временными объектами, доступными только для явного или неявного сеанса, используемого клиентским приложением, и удаляются при завершении сеанса. Объекты сеанса можно создать, задав атрибут Scope команды Create в session.

Замечание

При использовании настройки Сеанс элемент ObjectDefinition может содержать только элементы Dimension, Cube или MiningModel ASSL.

Изменение объектов

При изменении объектов с помощью метода Alter необходимо сначала определить объект, который необходимо изменить, предоставив ссылку на объект в свойстве Object команды Alter . Каждая ссылка на объект содержит идентификаторы объектов, необходимые для уникальной идентификации объекта для команды Alter . Дополнительные сведения о ссылках на объекты см. в разделе "Определение и идентификация объектов" (XMLA).

Например, необходимо указать ссылку на объект куба, чтобы изменить структуру куба. Ссылка на объект для куба в свойстве Object содержит идентификатор базы данных и идентификатор куба, так как один и тот же идентификатор куба может использоваться в другой базе данных.

Элемент ObjectDefinition содержит элементы ASSL, определяющие основной объект, который необходимо изменить. Дополнительные сведения о ASSL см. в статье "Разработка с помощью языка сценариев служб Analysis Services" (ASSL).

Если атрибут AllowCreate команды Alter имеет значение true, можно создать указанный основной объект, если объект не существует. В противном случае возникает ошибка, если указанный основной объект еще не существует.

Использование атрибута ObjectExpansion

При изменении только свойств основного объекта и не переопределения дополнительных объектов, содержащихся в основном объекте, можно задать атрибут ObjectExpansion команды Alter на ObjectProperties. Затем свойство ObjectDefinition должно содержать только элементы для свойств основного объекта, а команда Alter оставляет незначительные объекты, связанные с основным объектом, нетронутым.

Чтобы переопределить дополнительные объекты для основного объекта, необходимо задать атрибут ObjectExpansionзначение ExpandFull , а определение объекта должно содержать все незначительные объекты, содержащиеся в основном объекте. Если свойство ObjectDefinition команды Alter явно не включает дополнительный объект, содержащийся основным объектом, дополнительный объект, который не был включен, удаляется.

Изменение объектов сеанса

Чтобы изменить объекты сеанса, созданные командой Create , задайте для атрибута Scope команды Alterзначение Session.

Замечание

При использовании настройки Сеанса элемент ObjectDefinition может содержать только элементы Dimension, Cube или MiningModel ASSL.

Создание или изменение подчиненных объектов

Хотя команда Create или Alter создает или изменяет только один самый верхний основной объект, основной объект, создаваемый или измененный, может содержать определения в заключенном свойстве ObjectDefinition для других основных и дополнительных объектов, подчиненных ему. Например, при определении куба вы указываете родительскую базу данных в ParentObject. В определении куба в ObjectDefinition вы можете определить группы мер для куба, а в группах мер можно определить секции для каждой группы мер. Дополнительный объект можно определить только под основным объектом, содержащим его. Для получения дополнительной информации о крупных и второстепенных объектах см. раздел "Объекты базы данных (службы Analysis Services — многомерные данные)".

Примеры

Description

В следующем примере создается реляционный источник данных, который ссылается на многомерную базу данных Microsoft SQL Server Adventure Works DW Multidimensional 2012.

Code

<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
    <ParentObject>  
        <DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>  
    </ParentObject>  
    <ObjectDefinition>  
        <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">  
            <ID>AdventureWorksDW2012</ID>  
            <Name>AdventureWorksDW2012</Name>  
            <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>  
            <ImpersonationInfo>  
                <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>  
            </ImpersonationInfo>  
            <ManagedProvider>System.Data.SqlClient</ManagedProvider>  
            <Timeout>PT0S</Timeout>  
        </DataSource>  
    </ObjectDefinition>  
</Create>  

Description

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

Code

<Alter ObjectExpansion="ObjectProperties" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
    <Object>  
        <DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>  
        <DataSourceID>AdventureWorksDW2012</DataSourceID>  
    </Object>  
    <ObjectDefinition>  
        <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">  
            <ID>AdventureWorksDW2012</ID>  
            <Name>AdventureWorksDW2012</Name>  
            <ConnectionString>Data Source=fr-dwk-02;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>  
            <ManagedProvider>System.Data.SqlClient</ManagedProvider>  
            <Timeout>PT30S</Timeout>  
        </DataSource>  
    </ObjectDefinition>  
</Alter>  

Comments

Атрибут ObjectExpansion команды Alter был задан как ObjectProperties. Этот параметр позволяет исключить из источника данных элемент ImpersonationInfo, который является дополнительным объектом, определенным в ObjectDefinition. Таким образом, сведения олицетворения для этого источника данных, как указано в первом примере, остаются установленными на служебную учётную запись.

См. также

Метод Execute (XMLA)
Разработка с помощью языка сценариев служб Analysis Services (ASSL)
Разработка с помощью XMLA в службах Analysis Services