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


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

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

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

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

Важно!

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

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

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

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

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

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

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

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

    Важно!

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

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

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

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

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

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

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

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

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

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

Важно!

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

Примечание

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

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

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

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

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

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

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

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

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

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

Для каждого указанного элемента Location экземпляр SQL Server 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 синхронизирует данные и метаданные указанной базы данных SQL Server Analysis Services с другой базой данных. Команда Synchronize имеет различные свойства, позволяющие указать исходную базу данных, как синхронизировать определения безопасности, удаленные секции для синхронизации и синхронизацию объектов ROLAP.

Примечание

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

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

Свойство Source команды Synchronize содержит два свойства: 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