Основные сведения о добавочном создании
После первоначального формирования схемы при помощи среды Business Intelligence Development Studio можно изменить определения куба и измерений, а затем вновь запустить мастер формирования схем. Мастер обновляет схему в базе данных предметной области и в соответствующем представлении источника данных для отражения изменений при сохранении данных, присутствующих в текущий момент в таблицах, подлежащих повторному формированию. При изменении таблиц после первоначального формирования мастер формирования схем по возможности сохраняет эти изменения, используя следующие правила:
Если таблица была ранее сформирована мастером, то она перезаписывается. Можно предотвратить перезаписывание таблицы, сформированной мастером, путем изменения свойства AllowChangesDuringGeneration для таблицы в представлении источника данных на false. При управлении таблицей она воспринимается как любая другая определенная пользователем таблица и ее не затрагивает повторное формирование. После удаления таблицы из формирования можно изменить свойство AllowChangesDuringGeneration этой таблицы в представлении источника данных на true и вновь открыть таблицу для изменений мастером. Дополнительные сведения см. в разделе Просмотр или изменение представления источника данных, а также свойств DataTable и DataColumn в нем (службы Analysis Services).
Если таблица была добавлена к представлению источника данных или к основной базе данных не мастером, она не перезаписывается.
Когда мастер формирования схем повторно формирует таблицы, которые были ранее сформированы в базе данных предметной области, можно выбрать, чтобы он сохранял существующие данные в этих таблицах.
Поддержка сохранения данных
Общее правило состоит в том, что мастер формирования данных сохраняет данные, хранящиеся в сформированных им таблицах. Кроме этого, после добавления столбцов к таблицам, сформированным мастером, он сохраняет и эти данные. Эту возможность можно использовать для добавления или изменения измерений и последующего повторного формирования базовых объектов без необходимости перезагрузки данных, хранящихся в базовых таблицах.
Примечание |
---|
При загрузке данных из текстовых файлов с разделителями также можно выбрать, будет ли мастер формирования схем перезаписывать эти файлы и содержащиеся в них данные во время повторного формирования. Текстовые файлы либо перезаписываются полностью, либо не перезаписываются вообще. Мастер формирования схем не производит частичной перезаписи этих файлов. По умолчанию эти файлы не перезаписываются. |
Частичное сохранение
Мастер формирования схем не может сохранять существующие данные при определенных обстоятельствах. В следующей таблице содержатся примеры ситуаций, когда мастер не может сохранить все существующие данные в базовых таблицах во время повторного формирования.
Тип изменения данных |
Обработка |
---|---|
Изменение на несовместимый тип данных |
Мастер формирования схем по возможности использует преобразования стандартных типов данных SQL Server для преобразования существующих данных из одного типа в другой. Однако при изменении типа данных атрибута на тип, являющийся несовместимым с существующими данными, мастер сбрасывает данные из затрагиваемого столбца. |
Ошибки целостности ссылок |
При изменении измерения или куба, содержащего данные, когда изменение вызывает ошибки целостности ссылок во время повторного формирования, мастер формирования схем сбрасывает все данные из таблицы внешнего ключа. Сброс данных не ограничивается столбцом, вызвавшим нарушение ограничения внешнего ключа, или строками, содержащими ошибки целостности ссылок. Например, при изменении ключа измерения на атрибут, содержащий неуникальные данные или данные, имеющие значение NULL, все существующие данные в таблице внешнего ключа будут сброшены. Кроме этого, сброс всех данных в одной таблице может иметь каскадный эффект и вызвать другие нарушения целостности ссылок. |
Удаленный атрибут или измерение |
При удалении атрибута из измерения мастер формирования схем удаляет столбец, сопоставленный с удаленным атрибутом. При удалении измерения мастер удаляет таблицу, сопоставленную с удаленным атрибутом. Таким образом, мастер сбрасывает данные, содержащиеся в удаленном столбце или таблице. |
Мастер формирования схем выдает предупреждение перед сбросом каких-либо данных, чтобы выполнение мастера можно было отменить без потерь данных. Однако мастер формирования схем не способен различать ожидаемые потери данных и неожиданные потери данных. При запуске этого мастера в диалоговом окне приводится список таблиц и столбцов, содержащих данные, которые будут сброшены. Можно либо продолжить выполнение мастера и сбросить данные либо отменить выполнение мастера и пересмотреть изменения, внесенные в таблицы и столбцы.
Поддержка изменений кубов и измерений
При изменении свойств измерений и кубов мастер формирования схем повторно формирует соответствующие объекты в базе данных базовой предметной области, а также в соответствующем представлении источника данных, как описано в следующей таблице.
Удаление объекта, например измерения, куба или атрибута.
Мастер формирования схем удаляет базовые объекты, с которыми сопоставлен удаленный объект. При добавлении столбцов к таблице, сформированной мастером, эти новые столбцы не предотвращают удаления таблицы. Удаление объекта приводит к сбросу данных, хранимых в базовых объектах, а также может привести к сбросу других данных в случае возникновения ошибок целостности ссылок.Переименование объекта, например измерения, куба или атрибута.
Мастер формирования схем переименовывает базовые объекты, с которыми сопоставлен переименованный объект. Мастер также переименовывает все затрагиваемые объекты, например первичные ключи. Существующие данные, хранимые в базовых объектах, сохраняются.Изменение объекта, например изменение его типа данных.
Мастер формирования схем изменяет базовые объекты, с которыми сопоставлен измененный объект. Существующие данные, хранимые в базовых объектах баз данных, сохраняются, если только новый тип данных не является несовместимым с существующими данными.Добавление нового объекта, например измерения, куба или атрибута.
Мастер формирования схем добавляет базовые объекты, с которыми сопоставлен новый объект.
Если мастер формирования схем не может выполнить необходимого изменения в связи с наличием пользовательского объекта в базе данных предметной области (поскольку ядро СУБД возвращает ошибку), возникает сбой мастера формирования схем и отображается ошибка, возвращенная ядром СУБД. Например, при создании ограничения первичного ключа или некластеризованного индекса в таблице после формирования этой таблицы мастером мастер формирования схем не сбрасывает эту таблицу, поскольку он не создавал это ограничение или этот индекс.
Поддержка изменений схем
При изменении свойств таблицы или столбцов в базе данных предметной области или соответствующего представления источника данных мастер формирования схем обрабатывает изменения, как описано в следующей таблице.
Удаление таблицы или столбца, сформированных мастером формирования схем.
При удалении таблицы или столбца, сформированных мастером формирования схем, мастер повторно формирует удаленную таблицу. Мастер не выдает никакого предупреждения о том, что удаленная таблица или столбец будут повторно сформированы.Изменение свойств таблицы или столбца, сформированных мастером формирования схем.
При изменении свойств таблицы или столбца, сформированных мастером формирования схем, мастер повторно формирует измененную таблицу без этого изменения. Например, при изменении типа данных или допустимости значений NULL в столбце или файловой группе таблицы, сформированных мастером формирования схем, это изменение не сохраняется при повторном формировании. Мастер не выдает никакого предупреждения о том, что измененный объект будет повторно сформирован без сохранения изменений.Добавление столбца к таблице, сформированной мастером формирования схем, или добавление таблицы к базе данных предметной области или базе данных промежуточной области.
При добавлении столбца к таблице, сформированной мастером формирования схем, мастер сохраняет дополнительный столбец вместе с хранимыми в нем данными во время повторного формирования. Однако при добавлении таблицы к базе данных предметной области или базе данных промежуточной области мастер формирования схем не создает эту таблицу. Добавленный столбец или добавленная таблица не отражаются в проекте служб Службы Analysis Services, базе данных служб Службы Analysis Services, пакетах DTS, представлении источника данных или каком-либо другом месте формируемой схемы.
Поддержка изменений источника данных и представления источника данных
При повторном запуске мастера формирования схем он повторно использует тот же источник данных и представление источника данных, которые он использовал при первоначальном формировании. При добавлении источника данных или представления источника данных мастер не использует их. При удалении оригинального источника данных или представления источника данных после первоначального формирования мастер необходимо запустить с самого начала. Все предыдущие настройки мастера также удаляются. Любые существующие объекты в основной базе данных, связанные с удаленным источником данных или представлением источника данных, при следующем запуске мастера формирования схем воспринимаются как объекты, созданные пользователем.
Если представление источника данных не отражает реального состояния основной базы данных во время формирования, то мастер формирования схем может обнаружить ошибки при формировании схем для базы данных предметной области и базы данных промежуточной области. Например, если представление источника данных задает, что тип данных для столбца установлен на int, но тип данных для этого столбца на самом деле установлен на string, то мастер формирования схем устанавливает тип данных для внешнего ключа на int для совпадения с представлением источника данных, а затем выдает сбой при создании связи, поскольку реальный тип данных установлен на string.
С другой стороны, при изменении строки соединения с источником данных на другую базу данных по сравнению с предыдущим формированием не возникает ошибки. Используется эта новая база данных, а в предыдущую базу данных не вносятся никакие изменения.