Fazendo backup, restaurando e sincronizando bancos de dados (XMLA)

No XML for Analysis, existem três comandos que fazem backup de bancos de dados, que os restauram e que os sincronizam:

Fazendo backup de bancos de dados

Conforme mencionado anteriormente, o comando Backup faz backup de um banco de dados SQL Server Analysis Services especificado em um arquivo de backup. O comando Backup tem várias propriedades que permitem que você especifique o banco de dados a ser feito em backup, o arquivo de backup a ser usado, como fazer backup das definições de segurança e as partições remotas a serem backup.

Importante

A conta de serviço do Analysis Services deve ter permissão para gravar no local de backup especificado de cada arquivo. Além disso, o usuário deve ter uma das seguintes funções: função de administrador na instância de SQL Server Analysis Services ou um membro de uma função de banco de dados com permissões de Controle Total (Administrador) no banco de dados para fazer backup.

Especificando o banco de dados e o arquivo de backup

Para especificar o banco de dados a ser feito em backup, defina a propriedade Object do comando Backup . A propriedade Object deve conter um identificador de objeto para um banco de dados ou ocorrerá um erro.

Para especificar o arquivo a ser criado e usado pelo processo de backup, defina a propriedade File do comando Backup . A propriedade File deve ser definida como um caminho UNC e um nome de arquivo para o arquivo de backup a ser criado.

Além da especificação de que arquivo será usado para backup, defina as opções a seguir para o arquivo de backup especificado:

  • Se você definir a propriedade AllowOverwrite como true, o comando Backup substituirá o arquivo de backup se o arquivo especificado já existir. Se você definir a propriedade AllowOverwrite como false, ocorrerá um erro se o arquivo de backup especificado já existir.

  • Se você definir a propriedade ApplyCompression como true, o arquivo de backup será compactado após a criação do arquivo.

  • Se você definir a propriedade Password como qualquer valor não em branco, o arquivo de backup será criptografado usando a senha especificada.

    Importante

    Se as propriedades ApplyCompression e Password não forem especificadas, o arquivo de backup armazenará nomes de usuário e senhas contidos em cadeias de conexão em texto claro. Os dados armazenados em texto não criptografados podem ser recuperados. Para aumentar a segurança, use as configurações ApplyCompression e Password para compactar e criptografar o arquivo de backup.

Fazendo backup das configurações de segurança

A propriedade Security determina se o comando Backup faz backup das definições de segurança, como funções e permissões, definidas em um banco de dados SQL Server Analysis Services. A propriedade Security também determina se o arquivo de backup inclui as contas de usuário e grupos do Windows definidos como membros das definições de segurança.

O valor da propriedade Security é limitado a uma das cadeias de caracteres listadas na tabela a seguir.

Valor Descrição
SkipMembership Inclua definições de segurança, mas exclua informações de associação, no arquivo de backup.
CopyAll Inclua definições de segurança e informações de associação no arquivo de backup.
IgnoreSecurity Exclua definições de segurança do arquivo de backup.

Fazendo backup de partições remotas

Para fazer backup de partições remotas no banco de dados SQL Server Analysis Services, defina a propriedade BackupRemotePartitions do comando Backup como true. Essa configuração faz com que o comando Backup crie um arquivo de backup remoto para cada fonte de dados remota usada para armazenar partições remotas para o banco de dados.

Para que cada fonte de dados remota seja backup, você pode especificar seu arquivo de backup correspondente incluindo um elemento Location na propriedade Locations do comando Backup . O elemento Location deve ter sua propriedade File definida como o caminho UNC e o nome do arquivo de backup remoto e sua propriedade DataSourceID definida como o identificador da fonte de dados remota definida no banco de dados.

Restaurando bancos de dados

O comando Restaurar restaura um banco de dados SQL Server Analysis Services especificado de um arquivo de backup. O comando Restaurar tem várias propriedades que permitem que você especifique o banco de dados a ser restaurado, o arquivo de backup a ser usado, como restaurar definições de segurança, as partições remotas a serem armazenadas e os objetos ROLAP (relacionais de realocação).

Importante

Para cada arquivo de backup, o usuário que executar o comando de restauração deve ter permissão para ler no local de backup especificado para cada arquivo. Para restaurar um banco de dados SQL Server Analysis Services que não está instalado no servidor, o usuário também deve ser membro da função de servidor para essa instância de SQL Server Analysis Services. Para substituir um banco de dados SQL Server Analysis Services, o usuário deve ter uma das seguintes funções: um membro da função de servidor para a instância de SQL Server Analysis Services ou um membro de uma função de banco de dados com permissões de Controle Total (Administrador) no banco de dados a ser restaurado.

Observação

Após restaurar um banco de dados existente, o usuário que o restaurou poderá perder o acesso ao banco de dados restaurado. Essa perda de acesso pode ocorrer se, no momento da execução do backup, o usuário não for membro da função de servidor, nem membro da função de banco de dados com permissões de Controle total (Administrador).

Especificando o banco de dados e o arquivo de backup

A propriedade DatabaseName do comando Restore deve conter um identificador de objeto para um banco de dados ou ocorrerá um erro. Se o banco de dados especificado já existir, a propriedade AllowOverwrite determinará se o banco de dados existente é substituído. Se a propriedade AllowOverwrite estiver definida como false e o banco de dados especificado já existir, ocorrerá um erro.

Você deve definir a propriedade File do comando Restore como um caminho UNC e um nome de arquivo para o arquivo de backup a ser restaurado para o banco de dados especificado. Você também pode definir a propriedade Password para o arquivo de backup especificado. Se a propriedade Password for definida como qualquer valor não em branco, o arquivo de backup será descriptografado usando a senha especificada. Se o arquivo de backup não estiver criptografado, ou se a senha especificada não corresponder à senha usada para criptografar o arquivo de backup, ocorrerá um erro.

Restaurando configurações de segurança

A propriedade Security determina se o comando Restaurar restaura as definições de segurança, como funções e permissões, definidas em um banco de dados SQL Server Analysis Services. A propriedade Security também determina se o comando Restaurar inclui as contas de usuário e grupos do Windows definidos como membros das definições de segurança como parte do processo de restauração.

O valor desse elemento é limitado a uma das cadeias de caracteres listadas na tabela a seguir.

Valor Descrição
SkipMembership Inclua definições de segurança, mas exclua informações de associação, no banco de dados.
CopyAll Inclua definições de segurança e informações de associação no banco de dados.
IgnoreSecurity Exclua definições de segurança do banco de dados.

Restaurando partições remotas

Para cada arquivo de backup remoto criado durante um comando de Backup anterior, você pode restaurar sua partição remota associada incluindo um elemento Location na propriedade Locations do comando Restore . A propriedade DataSourceType para cada elemento Location deve ser excluída ou definida explicitamente como Remote.

Para cada elemento Local especificado, a instância de SQL Server Analysis Services entra em contato com a fonte de dados remota especificada na propriedade DataSourceID para restaurar as partições definidas no arquivo de backup remoto especificado na propriedade File. Além das propriedades DataSourceID e File , as seguintes propriedades estão disponíveis para cada elemento Location usado para restaurar uma partição remota:

  • Para substituir a cadeia de conexão para a fonte de dados remota especificada no DataSourceID, você pode definir a propriedade ConnectionString do elemento Location como uma cadeia de conexão diferente. Em seguida, o comando Restaurar usará a cadeia de conexão contida na propriedade ConnectionString . Se ConnectionString não for especificado, o comando Restaurar usará a cadeia de conexão armazenada no arquivo de backup da fonte de dados remota especificada. Você pode usar a configuração ConnectionString para mover uma partição remota para uma instância remota diferente. No entanto, você não pode usar a configuração ConnectionString para restaurar uma partição remota para a mesma instância que contém o banco de dados restaurado. Em outras palavras, você não pode usar a propriedade ConnectionString para fazer uma partição remota em uma partição local.

  • Para cada pasta original usada para armazenar as partições remotas na fonte de dados remota, você pode especificar um elemento Folder para indicar a nova pasta na qual restaurar todas as partições remotas armazenadas na pasta original. Se um elemento Folder não for especificado, o comando Restaurar usará as pastas originais especificadas para as partições remotas contidas no arquivo de backup remoto.

Realocando objetos ROLAP

O comando Restore não pode restaurar agregações ou dados para objetos que usam o armazenamento ROLAP porque essas informações são armazenadas em tabelas em uma fonte de dados relacional subjacente. No entanto, os metadados para objetos ROLAP podem ser restaurados. Para restaurar os metadados do objeto ROLAP, o comando Restaurar recria a estrutura da tabela em uma fonte de dados relacional.

Você pode usar o elemento Location em um comando Restore para realocar objetos ROLAP. Para cada elemento Location usado para realocar uma fonte de dados, a propriedade DataSourceType deve ser definida explicitamente como Local. Você também precisa definir a propriedade ConnectionString do elemento Location para a cadeia de conexão do novo local. Durante a restauração, o comando Restore substituirá a cadeia de conexão para a fonte de dados identificada pela propriedade DataSourceID do elemento Location pelo valor da propriedade ConnectionString do elemento Location .

Sincronizando bancos de dados

O comando Synchronize sincroniza os dados e os metadados de um banco de dados SQL Server Analysis Services especificado com outro banco de dados. O comando Synchronize tem várias propriedades que permitem especificar o banco de dados de origem, como sincronizar definições de segurança, as partições remotas a serem sincronizadas e a sincronização de objetos ROLAP.

Observação

O comando Synchronize só pode ser executado por administradores de servidores e administradores de banco de dados. Os bancos de dados de origem e de destino devem ter o mesmo nível de compatibilidade do banco de dados.

Especificando o banco de dados de origem

A propriedade Source do comando Synchronize contém duas propriedades, ConnectionString e Object. A propriedade ConnectionString contém a cadeia de conexão da instância que contém o banco de dados de origem e a propriedade Object contém o identificador de objeto do banco de dados de origem.

O banco de dados de destino é o banco de dados atual para a sessão na qual o comando Synchronize é executado.

Se a propriedade ApplyCompression do comando Synchronize for definida como true, as informações enviadas do banco de dados de origem para o banco de dados de destino serão compactadas antes de serem enviadas.

Sincronizando configurações de segurança

A propriedade SynchronizeSecurity determina se o comando Synchronize sincroniza as definições de segurança, como funções e permissões, definidas no banco de dados de origem. A propriedade SynchronizeSecurity também determina se o comando Sychronize inclui as contas de usuário e grupos do Windows definidos como membros das definições de segurança.

O valor desse elemento é limitado a uma das cadeias de caracteres listadas na tabela a seguir.

Valor Descrição
SkipMembership Inclua definições de segurança, mas exclua informações de associação, no banco de dados de destino.
CopyAll Inclua definições de segurança e informações de associação no banco de dados de destino.
IgnoreSecurity Exclua definições de segurança do banco de dados de destino.

Sincronizando partições remotas

Para cada fonte de dados remota que existe no banco de dados de origem, você pode sincronizar cada partição remota associada, incluindo um elemento Location na propriedade Locations do comando Synchronize . Para cada elemento Location , a propriedade DataSourceType deve ser excluída ou definida explicitamente como Remota.

Para definir e conectar-se a uma fonte de dados remota no banco de dados de destino, o comando Synchronize usa a cadeia de conexão definida na propriedade ConnectionString do elemento Location . Em seguida, o comando Synchronize usa a propriedade DataSourceID do elemento Location para identificar quais partições remotas sincronizar. O comando Synchronizesincroniza as partições remotas na fonte de dados remota especificada na propriedade DataSourceID no banco de dados de origem com a fonte de dados remota especificada na propriedade DataSourceID no banco de dados de destino.

Para cada pasta original usada para armazenar as partições remotas na fonte de dados remota no banco de dados de origem, você também pode especificar um elemento Folder no elemento Location . O elemento Folder indica a nova pasta para o banco de dados de destino no qual sincronizar todas as partições remotas armazenadas na pasta original na fonte de dados remota. Se um elemento Folder não for especificado, o comando Synchronize usará as pastas originais especificadas para partições remotas contidas no banco de dados de origem.

Sincronizando objetos ROLAP

O comando Sincronizar não pode sincronizar agregações ou dados para objetos que usam o armazenamento ROLAP porque essas informações são armazenadas em tabelas em uma fonte de dados relacional subjacente. No entanto, os metadados para objetos ROLAP podem ser sincronizados. Para sincronizar os metadados, o comando Synchronize recria a estrutura da tabela em uma fonte de dados relacional.

Você pode usar o elemento Location em um comando Synchronize para sincronizar objetos ROLAP. Para cada elemento Location usado para realocar uma fonte de dados, a propriedade DataSourceType deve ser definida explicitamente como Local. . Você também precisa definir a propriedade ConnectionString do elemento Location para a cadeia de conexão do novo local. Durante a sincronização, o comando Synchronize substituirá a cadeia de conexão para a fonte de dados identificada pela propriedade DataSourceID do elemento Location pelo valor da propriedade ConnectionString do elemento Location .

Consulte Também

Elemento de backup (XMLA)
Elemento Restore (XMLA)
Elemento Synchronize (XMLA)
Backup e restauração de bancos de dados do Analysis Services