Restaurar, sincronizar y realizar copias de seguridad de bases de datos (XMLA)

En XML for Analysis, hay tres comandos que sirven para restaurar, sincronizar y realizar copias de seguridad de las bases de datos:

  • El comando Backup realiza una copia de seguridad de una base de datos de Microsoft SQL Server SQL Server Analysis Services mediante un archivo de copia de seguridad de SQL Server Analysis Services (.abf), como se describe en la sección Copia de seguridad de bases de datos.

  • El comando Restaurar restaura una base de datos de SQL Server Analysis Services desde un archivo .abf, como se describe en la sección Restaurar bases de datos.

  • El comando Synchronize sincroniza una SQL Server Analysis Services base de datos con los datos y metadatos de otra base de datos, como se describe en la sección Sincronizar bases de datos.

Realizar copias de seguridad de bases de datos

Como se mencionó anteriormente, el comando Backup realiza una copia de seguridad de una base de datos SQL Server Analysis Services especificada en un archivo de copia de seguridad. El comando Backup tiene varias propiedades que permiten especificar la base de datos de la que se va a realizar una copia de seguridad, el archivo de copia de seguridad que se va a usar, cómo realizar una copia de seguridad de las definiciones de seguridad y las particiones remotas de las que se va a realizar una copia de seguridad.

Importante

La cuenta de servicio de Analysis Services debe tener permiso para escribir en la ubicación de copia de seguridad especificada para cada archivo. Además, el usuario debe tener uno de los siguientes roles: rol de administrador en la instancia de SQL Server Analysis Services o un miembro de un rol de base de datos con permisos de control total (administrador) en la base de datos de la que se va a realizar una copia de seguridad.

Especificar la base de datos y el archivo de copia de seguridad

Para especificar la base de datos de la que se va a realizar una copia de seguridad, establezca la propiedad Object del comando Backup . La propiedad Object debe contener un identificador de objeto para una base de datos o se produce un error.

Para especificar el archivo que va a crear y usar el proceso de copia de seguridad, establezca la propiedad File del comando Backup . La propiedad File debe establecerse en una ruta de acceso UNC y un nombre de archivo para que se cree el archivo de copia de seguridad.

Además de especificar qué archivo se va a utilizar para la copia de seguridad, puede establecer las siguientes opciones para el archivo de copia de seguridad especificado:

  • Si establece la propiedad AllowOverwrite en true, el comando Backup sobrescribe el archivo de copia de seguridad si el archivo especificado ya existe. Si establece la propiedad AllowOverwrite en false, se produce un error si el archivo de copia de seguridad especificado ya existe.

  • Si establece la propiedad ApplyCompression en true, el archivo de copia de seguridad se comprime una vez creado el archivo.

  • Si establece la propiedad Password en cualquier valor que no esté en blanco, el archivo de copia de seguridad se cifra mediante la contraseña especificada.

    Importante

    Si no se especifican las propiedades ApplyCompression y Password , el archivo de copia de seguridad almacena nombres de usuario y contraseñas contenidos en cadenas de conexión en texto no cifrado. Los datos almacenados en texto no cifrado se pueden recuperar. Para aumentar la seguridad, use la configuración ApplyCompression y Password para comprimir y cifrar el archivo de copia de seguridad.

Realizar copias de seguridad de la configuración de seguridad

La propiedad Security determina si el comando Backup realiza una copia de seguridad de las definiciones de seguridad, como roles y permisos, definidos en una base de datos de SQL Server Analysis Services. La propiedad Security también determina si el archivo de copia de seguridad incluye las cuentas de usuario de Windows y los grupos definidos como miembros de las definiciones de seguridad.

El valor de la propiedad Security se limita a una de las cadenas enumeradas en la tabla siguiente.

Valor Descripción
SkipMembership Incluye las definiciones de seguridad en el archivo de copia de seguridad, pero excluye la información de pertenencia.
CopyAll Incluye las definiciones de seguridad y la información de pertenencia en el archivo de copia de seguridad.
IgnoreSecurity Excluye las definiciones de seguridad del archivo de copia de seguridad.

Realizar copias de seguridad de particiones remotas

Para realizar copias de seguridad de particiones remotas en la base de datos SQL Server Analysis Services, establezca la propiedad BackupRemotePartitions del comando Backup en true. Esta configuración hace que el comando Backup cree un archivo de copia de seguridad remoto para cada origen de datos remoto que se usa para almacenar particiones remotas para la base de datos.

Para que se realice una copia de seguridad de cada origen de datos remoto, puede especificar su archivo de copia de seguridad correspondiente mediante la inclusión de un elemento Location en la propiedad Locations del comando Backup . El elemento Location debe tener su propiedad File establecida en la ruta de acceso UNC y el nombre de archivo del archivo de copia de seguridad remoto, y su propiedad DataSourceID establecida en el identificador del origen de datos remoto definido en la base de datos.

Restaurar bases de datos

El comando Restore restaura una base de datos SQL Server Analysis Services especificada a partir de un archivo de copia de seguridad. El comando Restaurar tiene varias propiedades que permiten especificar la base de datos que se va a restaurar, el archivo de copia de seguridad que se va a usar, cómo restaurar las definiciones de seguridad, las particiones remotas que se van a almacenar y los objetos OLAP relacionales de reubicación (ROLAP).

Importante

Para cada archivo de copia de seguridad, el usuario que ejecuta el comando de restauración debe tener permiso para leer desde la ubicación de la copia de seguridad especificada. Para restaurar una base de datos de SQL Server Analysis Services que no está instalada en el servidor, el usuario también debe ser miembro del rol de servidor para esa instancia de SQL Server Analysis Services. Para sobrescribir una base de datos de SQL Server Analysis Services, el usuario debe tener uno de los siguientes roles: un miembro del rol de servidor para la instancia de SQL Server Analysis Services o un miembro de un rol de base de datos con permisos de Control total (administrador) en la base de datos que se va a restaurar.

Nota

Después de restaurar una base de datos existente, el usuario que restauró la base de datos podría perder el acceso a la base de datos restaurada. Esta pérdida de acceso puede producirse si, en el momento en que se realizó la copia de seguridad, el usuario no era miembro del rol de servidor o no era miembro de rol de base de datos con permisos de Control total (Administrador).

Especificar la base de datos y el archivo de copia de seguridad

La propiedad DatabaseName del comando Restore debe contener un identificador de objeto para una base de datos o se produce un error. Si la base de datos especificada ya existe, la propiedad AllowOverwrite determina si se sobrescribe la base de datos existente. Si la propiedad AllowOverwrite está establecida en false y la base de datos especificada ya existe, se produce un error.

Debe establecer la propiedad File del comando Restore en una ruta de acceso UNC y un nombre de archivo para que el archivo de copia de seguridad se restaure en la base de datos especificada. También puede establecer la propiedad Password para el archivo de copia de seguridad especificado. Si la propiedad Password se establece en cualquier valor que no esté en blanco, el archivo de copia de seguridad se descifra mediante la contraseña especificada. Si el archivo de copia de seguridad no está cifrado o la contraseña especificada no coincide con la utilizada para cifrar dicho archivo, se produce un error.

Restaurar la configuración de seguridad

La propiedad Security determina si el comando Restore restaura las definiciones de seguridad, como roles y permisos, definidos en una base de datos de SQL Server Analysis Services. La propiedad Security también determina si el comando Restaurar incluye las cuentas de usuario de Windows y los grupos definidos como miembros de las definiciones de seguridad como parte del proceso de restauración.

El valor de este elemento se limita a una de las cadenas enumeradas en la tabla siguiente.

Valor Descripción
SkipMembership Incluye las definiciones de seguridad en la base de datos, pero excluye la información de suscripción.
CopyAll Incluye las definiciones de seguridad y la información de pertenencia en la base de datos.
IgnoreSecurity Excluye las definiciones de seguridad de la base de datos.

Restaurar particiones remotas

Para cada archivo de copia de seguridad remoto creado durante un comando backup anterior, puede restaurar su partición remota asociada mediante la inclusión de un elemento Location en la propiedad Locations del comando Restore . La propiedad DataSourceType para cada elemento Location debe excluirse o establecerse explícitamente en Remote.

Para cada elemento Location especificado, la instancia de SQL Server Analysis Services se pone en contacto con el origen de datos remoto especificado en la propiedad DataSourceID para restaurar las particiones definidas en el archivo de copia de seguridad remoto especificado en la propiedad File. Además de las propiedades DataSourceID y File , están disponibles las siguientes propiedades para cada elemento Location usado para restaurar una partición remota:

  • Para invalidar la cadena de conexión del origen de datos remoto especificado en DataSourceID, puede establecer la propiedad ConnectionString del elemento Location en una cadena de conexión diferente. A continuación, el comando Restore usará la cadena de conexión contenida en la propiedad ConnectionString . Si no se especifica ConnectionString , el comando Restore usa la cadena de conexión almacenada en el archivo de copia de seguridad para el origen de datos remoto especificado. Puede usar la configuración ConnectionString para mover una partición remota a una instancia remota diferente. Sin embargo, no puede usar la configuración ConnectionString para restaurar una partición remota en la misma instancia que contiene la base de datos restaurada. En otras palabras, no puede usar la propiedad ConnectionString para crear una partición remota en una partición local.

  • Para cada carpeta original utilizada para almacenar las particiones remotas en el origen de datos remoto, puede especificar un elemento Folder para indicar la nueva carpeta en la que restaurar todas las particiones remotas almacenadas en la carpeta original. Si no se especifica un elemento Folder , el comando Restore usa las carpetas originales especificadas para las particiones remotas contenidas en el archivo de copia de seguridad remota.

Reubicar objetos ROLAP

El comando Restore no puede restaurar agregaciones ni datos para objetos que usan el almacenamiento ROLAP porque dicha información se almacena en tablas en un origen de datos relacional subyacente. Sin embargo, pueden restaurarse los metadatos de los objetos ROLAP. Para restaurar los metadatos del objeto ROLAP, el comando Restaurar vuelve a crear la estructura de tabla en un origen de datos relacional.

Puede usar el elemento Location en un comando Restore para reubicar objetos ROLAP. Para cada elemento Location usado para reubicar un origen de datos, la propiedad DataSourceType debe establecerse explícitamente en Local. También tiene que establecer la propiedad ConnectionString del elemento Location en la cadena de conexión de la nueva ubicación. Durante la restauración, el comando Restore reemplazará la cadena de conexión del origen de datos identificado por la propiedad DataSourceID del elemento Location por el valor de la propiedad ConnectionString del elemento Location .

Sincronización de bases de datos

El comando Synchronize sincroniza los datos y los metadatos de una base de datos SQL Server Analysis Services especificada con otra base de datos. El comando Synchronize tiene varias propiedades que permiten especificar la base de datos de origen, cómo sincronizar las definiciones de seguridad, las particiones remotas que se van a sincronizar y la sincronización de objetos ROLAP.

Nota

El comando Synchronize solo se puede ejecutar mediante administradores de servidor y administradores de bases de datos. Las bases de datos de origen y de destino deben tener el mismo nivel de compatibilidad de base de datos.

Especificar la base de datos de origen

La propiedad Source del comando Synchronize contiene dos propiedades, ConnectionString y Object. La propiedad ConnectionString contiene la cadena de conexión de la instancia que contiene la base de datos de origen y la propiedad Object contiene el identificador de objeto de la base de datos de origen.

La base de datos de destino es la base de datos actual de la sesión en la que se ejecuta el comando Synchronize .

Si la propiedad ApplyCompression del comando Synchronize se establece en true, la información enviada desde la base de datos de origen a la base de datos de destino se comprime antes de enviarse.

Sincronizar la configuración de seguridad

La propiedad SynchronizeSecurity determina si el comando Synchronize sincroniza las definiciones de seguridad, como roles y permisos, definidos en la base de datos de origen. La propiedad SynchronizeSecurity también determina si el comando Sychronize incluye las cuentas de usuario de Windows y los grupos definidos como miembros de las definiciones de seguridad.

El valor de este elemento se limita a una de las cadenas enumeradas en la tabla siguiente.

Valor Descripción
SkipMembership Incluye las definiciones de seguridad en la base de datos de destino, pero excluye la información de suscripción.
CopyAll Incluye las definiciones de seguridad y la información de pertenencia en la base de datos de destino.
IgnoreSecurity Excluye las definiciones de seguridad de la base de datos de destino.

Sincronizar particiones remotas

Para cada origen de datos remoto que existe en la base de datos de origen, puede sincronizar cada partición remota asociada mediante la inclusión de un elemento Location en la propiedad Locations del comando Synchronize . Para cada elemento Location , la propiedad DataSourceType debe excluirse o establecerse explícitamente en Remote.

Para definir y conectarse a un origen de datos remoto en la base de datos de destino, el comando Synchronize usa la cadena de conexión definida en la propiedad ConnectionString del elemento Location . A continuación, el comando Synchronize usa la propiedad DataSourceID del elemento Location para identificar las particiones remotas que se van a sincronizar. El comando Synchronizesincroniza las particiones remotas en el origen de datos remoto especificado en la propiedad DataSourceID de la base de datos de origen con el origen de datos remoto especificado en la propiedad DataSourceID de la base de datos de destino.

Para cada carpeta original usada para almacenar las particiones remotas en el origen de datos remoto en la base de datos de origen, también puede especificar un elemento Folder en el elemento Location . El elemento Folder indica la nueva carpeta de la base de datos de destino en la que se sincronizarán todas las particiones remotas almacenadas en la carpeta original del origen de datos remoto. Si no se especifica un elemento Folder , el comando Synchronize usa las carpetas originales especificadas para las particiones remotas contenidas en la base de datos de origen.

Sincronizar objetos ROLAP

El comando Synchronize no puede sincronizar agregaciones ni datos para objetos que usan el almacenamiento ROLAP porque dicha información se almacena en tablas en un origen de datos relacional subyacente. Sin embargo, pueden sincronizarse los metadatos de los objetos ROLAP. Para sincronizar los metadatos, el comando Synchronize vuelve a crear la estructura de la tabla en un origen de datos relacional.

Puede usar el elemento Location en un comando Synchronize para sincronizar objetos ROLAP. Para cada elemento Location usado para reubicar un origen de datos, la propiedad DataSourceType debe establecerse explícitamente en Local. . También debe establecer la propiedad ConnectionString del elemento Location en la cadena de conexión de la nueva ubicación. Durante la sincronización, el comando Synchronize reemplazará la cadena de conexión para el origen de datos identificado por la propiedad DataSourceID del elemento Location por el valor de la propiedad ConnectionString del elemento Location .

Consulte también

Elemento Backup (XMLA)
Elemento Restore (XMLA)
Elemento Synchronize (XMLA)
Realizar una copia de seguridad y restaurar las bases de datos de Analysis Services