Резервное копирование, восстановление и синхронизация баз данных (XMLA)
В XML для аналитики есть три команды для резервного копирования, восстановления и синхронизации баз данных.
Команда Backup создает резервную копию базы данных Microsoft SQL Server Analysis Services с помощью файла резервной копии служб Analysis Services (ABF), как описано в разделе Резервное копирование баз данных.
Команда Restore восстанавливает базу данных служб Analysis Services из ABF-файла, как описано в разделе Восстановление баз данных.
Команда Synchronize синхронизирует одну базу данных служб Analysis Services с данными и метаданными другой базы данных, как описано в разделе Синхронизация баз данных.
Резервное копирование баз данных
Как упоминалось ранее, Backup
команда создает резервную копию указанной базы данных служб Analysis Services в файл резервной копии. Команда Backup
имеет различные свойства, позволяющие указывать базу данных для резервного копирования, файл резервной копии, способ резервного копирования определений безопасности и удаленные секции для резервного копирования.
Важно!
У учетной записи служб Analysis Services должны быть разрешения на запись в папку резервного копирования, заданную для каждого из файлов. Кроме того, пользователь должен иметь одну из следующих ролей: роль администратора в экземпляре служб Analysis Services или члена роли базы данных с разрешениями полного доступа (администратор) для резервного копирования базы данных.
Задание базы данных и файла резервной копии
Чтобы указать базу данных для резервного копирования, необходимо задать свойство Backup
Object команды . Свойство Object
должно содержать идентификатор объекта для базы данных; в противном случае возникнет ошибка.
Чтобы указать файл, который должен быть создан и использован процессом резервного копирования, необходимо задать свойство Backup
File команды . Свойству 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, необходимо задать для свойства Backup
BackupRemotePartitions команды значение true. C этим параметром команда Backup
создает удаленный файл резервной копии для каждого удаленного источника данных, который используется для хранения удаленных секций базы данных.
Для каждого удаленного источника данных для резервного копирования можно указать соответствующий файл резервной копии, включив элемент Location в свойство Backup
Locations команды . Свойство 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
могут только администраторы серверов и баз данных. Исходная и целевая базы данных должны иметь одинаковый уровень совместимости.
Указание базы данных-источника
Свойство Synchronize
Source команды содержит два свойства: 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