Общие сведения о добавочном создании

После первоначального создания схемы можно изменить определения куба и измерения с помощью SQL Server Data Tools (SSDT), а затем повторно запустить мастер создания схемы. Мастер обновляет схему в базе данных предметной области и в связанном представлении источника данных, чтобы отразить изменения и сохранить данные, которые в настоящее время существуют в таблицах для повторного создания, насколько это возможно. Если вы изменили таблицы после первоначального создания, мастер создания схем сохраняет эти изменения, если это возможно, с помощью следующих правил:

  • Если таблица была создана мастером ранее, она будет перезаписана. Можно предотвратить перезапись таблицы, созданной мастером, изменив свойство таблицы в представлении источника данных на false. При контроле над таблицей таблица обрабатывается как любая другая определяемая пользователем таблица и не затрагивается во время восстановления. После удаления таблицы из генерации, позже можно изменить AllowChangesDuringGeneration свойства таблицы в представлении источника данных на true и повторно открыть таблицу для изменений с помощью мастера. Для получения дополнительной информации см. Изменение свойств в представлении источника данных (службы Analysis Services).

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

Когда мастер создания схем создает таблицы, созданные ранее в базе данных области темы, можно выбрать сохранение существующих данных в этих таблицах мастером.

Поддержка сохранения данных

Как правило, мастер создания схем сохраняет данные, хранящиеся в созданных таблицах. Кроме того, при добавлении столбцов в таблицы, созданные мастером, мастер также сохраняет эти данные. Эту возможность можно использовать для добавления или изменения измерений и кубов, а затем повторного создания базовых объектов без необходимости перезагрузить данные, хранящиеся в базовых таблицах.

Замечание

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

Частичное сохранение

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

Тип изменения данных Лечение
Изменение несовместимого типа данных Мастер создания схем использует стандартные преобразования типов данных SQL Server, когда это возможно, для преобразования существующих данных из одного типа данных в другой. Однако при изменении типа данных атрибута на тип, несовместимый с существующими данными, мастер удаляет данные для затронутого столбца.
Ошибки целостности ссылок При изменении размерности или куба, содержащего данные, и если это изменение вызывает ошибку ссылочной целостности во время регенерации, мастер создания схем удаляет все данные в таблице внешнего ключа. Данные, которые удаляются, не ограничиваются столбцом, вызвавшим нарушение ограничения внешнего ключа, или строками, содержащими ошибки целостности ссылочных данных. Например, если изменить ключ измерения на атрибут с не уникальными или пустыми данными, все существующие данные в таблице внешнего ключа удаляются. Кроме того, удаление всех данных в одной таблице может иметь каскадный эффект и может привести к другим нарушениям целостности ссылок.
Удаленный атрибут или измерение При удалении атрибута из измерения мастер создания схемы удаляет столбец, сопоставленный с удаленным атрибутом. Если вы удалите измерение, мастер удаляет таблицу, связанную с удаленным измерением. В этих случаях мастер удаляет данные, содержащиеся в удаленном столбце или таблице.

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

Поддержка изменений кубов и измерений

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

Удаление объекта, например измерения, куба или атрибута.
Мастер создания схем удаляет базовые объекты, с которым сопоставлен удаленный объект. При добавлении столбцов в таблицу, созданную мастером, новые столбцы не препятствуют удалению этой таблицы. Удаление объекта приводит к удалению данных, хранящихся в базовых объектах, а также может привести к удалению других данных при возникновении ошибок целостности ссылок.

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

Изменение объекта, например изменение типа данных.
Мастер создания схем изменяет базовые объекты, с которым сопоставлен измененный объект. Существующие данные, хранящиеся в базовых объектах в базах данных, сохраняются, если новый тип данных не несовместим с существующими данными.

Добавление нового объекта, например измерения, куба или атрибута.
Мастер создания схем добавляет базовые объекты, к которым сопоставляется новый объект.

Если мастер создания схем не может внести необходимые изменения из-за присутствия объекта пользователя в базе данных предметной области (так как СУБД возвращает ошибку), мастер создания схем завершает работу с ошибкой и отображает ошибку, возвращаемую СУБД. Например, если вы создаете ограничение первичного ключа или некластеризованный индекс в таблице после создания таблицы, мастер создания схем не удаляет эту таблицу, так как он не создал ограничение или индекс.

Поддержка изменений схемы

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

Удаление таблицы или столбца, созданного мастером создания схемы.
При удалении таблицы или столбца, созданного мастером создания схемы, мастер повторно создает удаленную таблицу. Мастер не содержит предупреждения о том, что удаленная таблица или столбец будет повторно создана.

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

Добавление столбца в таблицу, созданную мастером создания схемы, или добавление таблицы в базу данных предметной области или базу данных промежуточного хранения.
При добавлении столбца в таблицу, созданную мастером создания схемы, мастер сохраняет дополнительный столбец вместе с данными, хранящимися в нем, во время восстановления. Однако, при добавлении таблицы в базу данных предметной области или промежуточную базу данных Мастер создания схемы не включает новую таблицу. Добавленный столбец или добавленная таблица не отражается в проекте служб Analysis Services, базе данных Служб Analysis Services, пакетах DTS, представлении источника данных или любом другом месте в созданной схеме.

Поддержка изменений источника данных и представления источника данных

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

Если представление источника данных не отражает фактическое состояние базовой базы данных во время генерации, Мастер генерации схем может столкнуться с ошибками при создании схем для базы данных предметной области и базы данных промежуточной области. Например, если представление источника данных указывает, что тип данных для столбца задан как int, но фактически тип данных для столбца установлен на string, мастер создания схемы задает для внешнего ключа тип данных int в соответствии с представлением источника данных. Однако при создании связи происходит сбой, так как фактический тип данных — это string.

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

См. также

Управление изменениями представлений источников данных и источников данных
Мастер генерации схем (службы Analysis Services)