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:
O comando Backup faz backup de um banco de dados do Microsoft SQL Server Analysis Services usando um arquivo de backup do Analysis Services (.abf), conforme descrito na seção Backup de bancos de dados.
O comando Restaurar restaura um banco de dados do Analysis Services de um arquivo .abf, conforme descrito na seção Restaurando bancos de dados.
O comando Synchronize sincroniza um banco de dados do Analysis Services com os dados e metadados de outro banco de dados, conforme descrito na seção Sincronizando bancos de dados.
Fazendo backup de bancos de dados
Conforme mencionado anteriormente, o comando faz backup Backup
de um banco de dados do Analysis Services especificado em um arquivo de backup. O comando Backup
possui diversas propriedades que permitem a você especificar o banco de dados a ser incluído no backup, o arquivo de backup a ser usado, como fazer backup de definições de segurança e as partições remotas a serem incluídas no 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 do 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 copiado em backup, defina a propriedade Object do Backup
comando . A propriedade Object
deve conter um identificador de objeto para um banco de dados ou ocorrerá um erro.
Para especificar o arquivo que deve ser criado e usado pelo processo de backup, defina a propriedade File do Backup
comando . A propriedade File
dever 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
Backup
comando substituirá o arquivo de backup se o arquivo especificado já existir. Se você definir a propriedadeAllowOverwrite
como falsa, 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
ePassword
não forem especificadas, o arquivo de backup armazenará nomes de usuário e senhas contidos nas cadeias de conexão em texto não criptografado. Os dados armazenados em texto não criptografados podem ser recuperados. Para aumentar a segurança, use as configuraçõesApplyCompression
ePassword
para compactar e criptografar o arquivo de backup.
Fazendo backup das configurações de segurança
A propriedade Security determina se o comando faz backup das Backup
definições de segurança, como funções e permissões, definidas em um banco de dados do Analysis Services. A propriedade Security
também determina se o arquivo de backup incluirá as contas de usuário do Windows e os grupos definidos como membros das definições de segurança.
O valor da propriedade Security
está 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 do Analysis Services, defina a propriedade BackupRemotePartitions do Backup
comando 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 o armazenamento de partições remotas para o banco de dados.
Para que cada fonte de dados remota seja copiada em backup, você pode especificar seu arquivo de backup correspondente incluindo um elemento Location na propriedade Locations do Backup
comando. O Location
elemento deve ter sua File
propriedade 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 Restore
comando restaura um banco de dados do Analysis Services especificado de um arquivo de backup. O comando Restore
possui diversas propriedades que permitem a você especificar 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.
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 do Analysis Services que não está instalado no servidor, o usuário também deve ser membro da função de servidor dessa instância do Analysis Services. Para substituir um banco de dados do Analysis Services, o usuário deve ter uma das seguintes funções: um membro da função de servidor para a instância do 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 será substituído. Se a propriedade AllowOverwrite
for definida para como falsa e se o banco de dados especificado já existir, ocorrerá um erro.
Defina a propriedade File
do comando Restore
como um caminho UNC e o 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 um valor diferente de em branco, o arquivo de backup será criptografado com 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 Security
propriedade determina se o Restore
comando restaura as definições de segurança, como funções e permissões, definidas em um banco de dados do Analysis Services. A propriedade Security
também determina se o comando Restore
incluirá as contas de usuário e os 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 o comando Backup
anterior, você poderá restaurar sua partição remota associada incluindo um elemento Location
na propriedade Locations
do comando Restore
. A propriedade DataSourceType para cada Location
elemento deve ser excluída ou definida explicitamente como Remote.
Para cada elemento especificado Location
, a instância do Analysis Services entra em contato com a fonte de dados remota especificada na DataSourceID
propriedade para restaurar as partições definidas no arquivo de backup remoto especificado na File
propriedade . Além das propriedades DataSourceID
e File
, as propriedades a seguir estão disponíveis para cada elemento Location
usado na restauração de uma partição remota:
Para substituir a cadeia de conexão para uma fonte de dados remota especificada em
DataSourceID
, defina a propriedadeConnectionString
do elementoLocation
para uma cadeia de conexão diferente. O comandoRestore
usará a cadeia de conexão contida na propriedadeConnectionString
. SeConnectionString
não for especificado, o comandoRestore
usará a cadeia de conexão armazenada no arquivo de backup para a fonte de dados remota especificada. Você pode usar a configuraçãoConnectionString
para mover uma partição remota para uma instância remota diferente. No entanto, não é possível usar a configuraçãoConnectionString
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 poderá usar a propriedadeConnectionString
para transformar 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 comandoRestore
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 estã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 para objetos ROLAP, o comando Restore
recria a estrutura de tabela em uma fonte de dados relacional.
Você pode usar o elemento Location
em um comando Restore
para realocar objetos ROLAP. Para cada Location
elemento usado para realocar uma fonte de dados, a DataSourceType
propriedade 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 Synchronize
comando sincroniza os dados e metadados de um banco de dados do Analysis Services especificado com outro banco de dados. O comando Synchronize
possui diversas propriedades que permitem a você especificar o banco de dados de origem, como sincronizar as definições de segurança, as partições remotas a serem sincronizadas e a sincronização de objetos ROLAP.
Observação
O comando Synchronize
pode ser executado apenas por administradores de servidor e por 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 Synchronize
comando contém duas propriedades e ConnectionString
Object
. A propriedade ConnectionString
armazena 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 para o 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 verdadeira, as informações enviadas do banco de dados de origem para o de destino serão compactadas antes do envio.
Sincronizando configurações de segurança
A propriedade SynchronizeSecurity determina se o Synchronize
comando 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
incluirá 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 existente no banco de dados de origem, você poderá sincronizar cada partição remota associada ao incluir um elemento Location
na propriedade Locations
do comando Synchronize
. Para cada Location
elemento, a DataSourceType
propriedade deve ser excluída ou definida explicitamente como Remote.
Para definir uma fonte de dados remota e para conectar-se a ela no banco de dados de destino, o comando Synchronize
usará a cadeia de conexão definida na propriedade ConnectionString
do elemento Location
. O comando Synchronize
usa a propriedade DataSourceID
do elemento Location
para identificar quais partições remotas serão sincronizadas. O Synchronize
comando sincroniza as partições remotas na fonte de dados remota especificada na DataSourceID
propriedade no banco de dados de origem com a fonte de dados remota especificada na DataSourceID
propriedade no banco de dados de destino.
Para cada pasta original usada para armazenar as partições remotas da fonte de dados remota do banco de dados de origem, também é possível especificar um elemento Folder
no elemento Location
. O elemento Folder
indica a nova pasta para o banco de dados de destino no qual todas as partições remotas armazenadas na pasta original da fonte de dados remota serão sincronizadas. Se um elemento Folder
não for especificado, o comando Synchronize usará as pastas originais especificadas para as partições remotas contidas no banco de dados de origem.
Sincronizando objetos ROLAP
O comando Synchronize
não pode sincronizar agregações ou dados para objetos que usam o armazenamento ROLAP porque essas informações estã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 de tabela em uma fonte de dados relacional.
Você pode usar o elemento Location
de um comando Synchronize para sincronizar objetos ROLAP. Para cada Location
elemento usado para realocar uma fonte de dados, a DataSourceType
propriedade 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