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


Резервное копирование, восстановление и синхронизация баз данных (XMLA)

В XML для аналитики есть три команды для резервного копирования, восстановления и синхронизации баз данных.

Резервное копирование баз данных

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

Важно!

У учетной записи служб Analysis Services должны быть разрешения на запись в папку резервного копирования, заданную для каждого из файлов. Кроме того, пользователь должен иметь одну из следующих ролей: роль администратора в экземпляре служб Analysis Services или члена роли базы данных с разрешениями полного доступа (администратор) для резервного копирования базы данных.

Задание базы данных и файла резервной копии

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

Чтобы указать файл, который должен быть создан и использован процессом резервного копирования, необходимо задать свойство BackupFile команды . Свойству File должен быть задан путь в формате UNC и имя для создаваемого файла резервной копии.

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

  • Если для свойства AllowOverwrite задано значение true, команда перезаписывает файл резервной копии, Backup если указанный файл уже существует. Если свойству AllowOverwrite задать значение FALSE, то в случае существования указанного файла резервной копии возникнет ошибка.

  • Если для свойства ApplyCompression задано значение true, файл резервной копии сжимается после создания файла.

  • Если для свойства Password задано любое непустое значение, файл резервной копии шифруется с помощью указанного пароля.

    Важно!

    Если свойства ApplyCompression и Password не заданы, то в файле резервной копии имена пользователей и пароли, содержащиеся в строках соединений, будут сохранены в виде открытого текста. Данные, хранящиеся в виде открытого текста, можно извлечь. Чтобы обеспечить более высокий уровень безопасности, можно использовать параметры ApplyCompression и Password для сжатия и шифрования файла резервной копии.

Резервное копирование параметров безопасности

Свойство Security определяет, создает ли команда резервную копию Backup определений безопасности, таких как роли и разрешения, определенные в базе данных служб Analysis Services. Свойство Security также указывает, будут ли учетные записи пользователей и группы Windows, определенные как члены определений безопасности, включены в файл резервной копии.

Значением свойства Security может быть только одна из строк в следующей таблице.

Значение Описание
SkipMembership Включает определения безопасности, но исключает сведения о членстве из файла резервной копии.
CopyAll Включает определения безопасности и сведения о членстве в файл резервной копии.
IgnoreSecurity Исключает определения безопасности из файла резервной копии.

Резервирование удаленных секций

Чтобы создать резервную копию удаленных секций в базе данных служб Analysis Services, необходимо задать для свойства BackupBackupRemotePartitions команды значение true. C этим параметром команда Backup создает удаленный файл резервной копии для каждого удаленного источника данных, который используется для хранения удаленных секций базы данных.

Для каждого удаленного источника данных для резервного копирования можно указать соответствующий файл резервной копии, включив элемент Location в свойство BackupLocations команды . Свойство Location элемента должно File иметь значение UNC-путь и имя файла удаленной резервной копии, а для свойства DataSourceID — идентификатор удаленного источника данных, определенного в базе данных.

Восстановление баз данных

Команда Restore восстанавливает указанную базу данных служб Analysis Services из файла резервной копии. Команда Restore имеет различные свойства, позволяющие указывать базу данных для восстановления, файл резервной копии, метод восстановления определений безопасности, удаленные секции для хранения и объекты перемещения реляционной OLAP (ROLAP).

Важно!

Пользователь, выполняющий команду восстановления, должен иметь разрешение на чтение из папки резервного копирования, указанной для каждого восстанавливаемого файла. Чтобы восстановить базу данных служб Analysis Services, которая не установлена на сервере, пользователь также должен быть членом роли сервера для этого экземпляра служб Analysis Services. Чтобы перезаписать базу данных служб Analysis Services, пользователь должен иметь одну из следующих ролей: член роли сервера для экземпляра служб Analysis Services или член роли базы данных с разрешениями полного доступа (администратор) для восстанавливаемой базы данных.

Примечание

После восстановления существующей базы данных пользователь, выполнявший восстановление, может утратить доступ к этой базе данных. Потеря доступа может произойти в случае, если на время создания резервной копии этот пользователь не был членом роли сервера и роли базы данных с разрешением «Полный доступ (Администратор)».

Задание базы данных и файла резервной копии

Свойство DatabaseName команды Restore должно содержать идентификатор объекта для базы данных, в противном случае возникнет ошибка. Если указанная база данных уже существует, свойство AllowOverwrite определяет, будет ли она перезаписана. Если свойство AllowOverwrite имеет значение FALSE, а указанная база данных уже существует, возникает ошибка.

Свойству File команды Restore следует задать путь в формате UNC и имя файла резервной копии, из которого будет восстановлена указанная база данных. Для выбранного файла резервной копии также можно задать свойство Password. Если свойство Password имеет любое непустое значение, файл резервной копии будет расшифрован при помощи указанного пароля. Если файл резервной копии не был расшифрован либо если указанный пароль не совпадает с паролем, использованным для шифрования файла резервной копии, возникает ошибка.

Восстановление параметров безопасности

Свойство Security определяет, восстанавливает ли Restore команда определения безопасности, такие как роли и разрешения, определенные в базе данных служб Analysis Services. Свойство Security определяет также, будет ли команда Restore включать учетные записи пользователей и группы Windows, определенные как члены определений безопасности, в процесс восстановления.

Значением этого элемента может быть только одна из строк в следующей таблице.

Значение Описание
SkipMembership Включает определения безопасности, но исключает сведения о членстве из базы данных.
CopyAll Включает определения безопасности и сведения о членстве в базу данных.
IgnoreSecurity Исключает определения безопасности из базы данных.

Восстановление удаленных секций

Можно восстановить удаленную секцию, связанную с каждым удаленным файлом резервной копии, который был создан при выполнении предыдущей команды Backup, включив элемент Location в свойство Locations команды Restore. Свойство DataSourceType для каждого Location элемента должно быть исключено или явно задано значение Remote.

Для каждого указанного Location элемента экземпляр служб Analysis Services обращается к удаленному источнику данных, указанному DataSourceID в свойстве , для восстановления секций, определенных в удаленном файле резервной копии, указанном в свойстве File . Помимо свойств DataSourceID и File, для каждого элемента Location, используемого для восстановления удаленной секции, доступны следующие свойства.

  • Чтобы переопределить строку соединения для удаленного источника данных, указанного в свойстве DataSourceID, свойству ConnectionString элемента Location можно задать другую строку соединения. В этом случае команда Restore будет использовать строку соединения, содержащуюся в свойстве ConnectionString. Если свойство ConnectionString не задано, команда Restore будет использовать строку соединения, хранящуюся в файле резервной копии для указанного удаленного источника данных. Параметр ConnectionString можно использовать для перемещения удаленной секции в другой удаленный экземпляр. Однако использовать параметр ConnectionString для восстановления удаленной секции в тот же экземпляр, который содержит восстановленную базу данных, невозможно. Другими словами, свойство ConnectionString нельзя использовать для преобразования удаленной секции в локальную секцию.

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

Перемещение объектов ROLAP

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

Элемент Location можно использовать в команде Restore для перемещения объектов ROLAP. Для каждого Location элемента, используемого для перемещения источника данных, свойству DataSourceType должно быть явно присвоено значение Local. Также необходимо задать строку подключения для нового расположения в свойстве ConnectionString элемента Location. Во время восстановления команда Restore заменит строку соединения для источника данных, определенного свойством DataSourceID элемента Location, на значение свойства ConnectionString элемента Location.

Синхронизация баз данных

Команда Synchronize синхронизирует данные и метаданные указанной базы данных служб Analysis Services с другой базой данных. Команда Synchronize имеет различные свойства, позволяющие указывать базу данных-источник, метод синхронизации определений безопасности, удаленные секции для синхронизации и синхронизацию объектов ROLAP.

Примечание

Выполнять команду Synchronize могут только администраторы серверов и баз данных. Исходная и целевая базы данных должны иметь одинаковый уровень совместимости.

Указание базы данных-источника

Свойство SynchronizeSource команды содержит два свойства: ConnectionString и Object. Свойство ConnectionString содержит строку соединения экземпляра, в котором находится база данных-источник, а свойство Object содержит идентификатор объекта для базы данных-источника.

Целевой базой данных является текущая база данных в сеансе, в рамках которого выполняется команда Synchronize.

Если свойству ApplyCompression команды Synchronize задано значение TRUE, сведения, отправляемые из базы данных-источника в целевую, сжимаются перед отправкой.

Синхронизация параметров безопасности

Свойство SynchronizeSecurity определяет, синхронизирует ли Synchronize команда определения безопасности, такие как роли и разрешения, определенные в базе данных-источнике. Свойство SynchronizeSecurity также определяет, включает ли команда Sychronize учетные записи пользователей и группы Windows, определенные как члены определений безопасности.

Значением этого элемента может быть только одна из строк в следующей таблице.

Значение Описание
SkipMembership Включает определения безопасности, но исключает сведения о членстве из целевой базы данных.
CopyAll Включает определения безопасности и сведения о членстве в целевую базу данных.
IgnoreSecurity Исключает определения безопасности из целевой базы данных.

Синхронизация удаленных секций

Каждую удаленную секцию, связанную с каждым удаленным источником данных, существующим в базе данных-источнике, можно синхронизировать, включив элемент Location в свойство Locations команды Synchronize. Для каждого Location элемента DataSourceType свойство должно быть исключено или явно задано значение Remote.

Чтобы определить соединение с удаленным источником данных в целевой базе данных, команда Synchronize использует строку соединения, указанную в свойстве ConnectionString элемента Location. После этого команда Synchronize будет использовать свойство DataSourceID элемента Location для определения того, какие удаленные секции синхронизировать. Команда Synchronizeсинхронизирует удаленные секции в удаленном источнике данных, указанном в DataSourceID свойстве базы данных-источнике, с удаленным источником данных, указанным в свойстве DataSourceID целевой базы данных.

Кроме того, для каждой первоначальной папки, в которой хранятся удаленные секции в удаленном источнике данных базы данных-источника, можно указать элемент Folder в элементе Location. Элемент Folder указывает новую папку для целевой базы данных, в которой следует синхронизировать все удаленные секции, хранящиеся в первоначальной папке в удаленном источнике данных. Если элемент Folder не задан, команда Synchronize будет использовать первоначальные папки, указанные для удаленных секций, содержащихся в базе данных-источнике.

Синхронизация объектов ROLAP

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

Элемент Location можно использовать в команде Synchronize для синхронизации объектов ROLAP. Для каждого Location элемента, используемого для перемещения источника данных, свойству DataSourceType должно быть явно присвоено значение Local. . Также необходимо задать строку подключения для нового расположения в свойстве ConnectionString элемента Location. Во время синхронизации команда Synchronize заменит строку соединения для источника данных, определенного свойством DataSourceID элемента Location, на значение свойства ConnectionString элемента Location.

См. также:

Элемент Backup (XML для аналитики)
Элемент Restore (XML для аналитики)
Элемент Synchronize (XML для аналитики)
Создание и восстановление резервных копий баз данных служб Analysis Services