Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Geralmente, há situações em que um administrador de banco de dados do Analysis Services (dba) deseja mover um banco de dados de modelo multidimensional ou tabular para um local diferente. Essas situações geralmente são orientadas por necessidades comerciais, como mover o banco de dados para um disco diferente para obter melhor desempenho, ganhar espaço para o crescimento do banco de dados ou atualizar um produto.
Um banco de dados pode ser movido de várias maneiras. Este documento explica os seguintes cenários comuns:
Utilizando o SSMS de forma interativa
Programaticamente usando AMO
Por script usando XMLA
Todos os cenários exigem que o usuário acesse a pasta do banco de dados e use um método para mover os arquivos para o destino final desejado.
Observação
Desanexar um banco de dados sem atribuir uma senha a ele deixa o banco de dados em um estado não protegido. Recomendamos atribuir uma senha ao banco de dados para proteger informações confidenciais. Além disso, a segurança de acesso correspondente deve ser aplicada à pasta de banco de dados, subpasta e arquivos para impedir o acesso não autorizado a eles.
Procedimentos
Mover um banco de dados interativamente usando o SSMS
Localize o banco de dados a ser movido no painel esquerdo ou direito do SSMS.
Clique com o botão direito do mouse no banco de dados e selecione Desanexar...
Atribua uma senha ao banco de dados a ser desanexado e clique em OK para executar o comando de desanexar.
Use qualquer mecanismo do sistema operacional ou seu método padrão para mover arquivos para mover a pasta de banco de dados para o novo local.
Localize a pasta Bancos de Dados no painel esquerdo ou direito do SSMS.
Clique com o botão direito do mouse na pasta Bancos de Dados e selecione Anexar...
Na caixa de texto da pasta, digite o novo local da pasta do banco de dados. Como alternativa, você pode usar o botão procurar (...) para localizar a pasta de banco de dados.
Selecione o
ReadWritemodo do banco de dados.Digite a senha usada na etapa 3 e clique em OK para executar o comando de anexação.
Mover um banco de dados programaticamente usando AMO
- Em seu aplicativo C#, adapte o código de exemplo a seguir e conclua as tarefas indicadas.
private void MoveDb(Server server, string dbName,
string dbInitialLocation, string dbFinalLocation,
string dbPassword, ReadWriteMode dbReadWriteMode)
{
//Verify dbInitialLocation exists before continuing
if (server.Databases.ContainsName(dbName))
{
Database db;
//Save current cursor and change cursor to Cursors.WaitCursor
db = server.Databases[dbName];
db.Detach(dbPassword);
//Add your own code to copy the database files to the destination where you intend to attach the database
//Verify dbFinalLocation exists before continuing
server.Attach(dbFinalLocation, dbReadWriteMode, dbPassword);
//Restore cursor to its original
}
}
Em seu aplicativo C#, invoque
MoveDb()com os parâmetros necessários.Compile e execute seu código para mover o banco de dados.
Mover um banco de dados por script usando XMLA
Abra uma nova guia XMLA no SSMS.
Copiar o modelo de script a seguir para XMLA
<Detach xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>%dbName%</DatabaseID>
<Password>%password%</Password>
</Object>
</Detach>
Substitua
%dbName%pelo nome do banco de dados e%password%pela senha. Os caracteres % fazem parte do modelo e devem ser removidos.Execute o comando XMLA.
Use qualquer mecanismo do sistema operacional ou seu método padrão para mover arquivos para mover a pasta de banco de dados para o novo local.
Copiar o modelo de script a seguir para XMLA em uma nova aba XMLA
<Attach xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Folder>%dbFolder%</Folder>
<ReadWriteMode xmlns="https://schemas.microsoft.com/analysisservices/2008/engine/100">%ReadOnlyMode%</ReadWriteMode>
</Attach>
Substitua
%dbFolder%pelo caminho UNC completo da pasta de banco de dados,%ReadOnlyMode%pelo valorReadOnlycorrespondente ouReadWritee%password%pela senha. Os caracteres % fazem parte do modelo e devem ser removidos.Execute o comando XMLA.
Consulte Também
Attach*
Microsoft.AnalysisServices.Database.Detach*
Anexar e desanexar bancos de dados do Analysis Services
Local de armazenamento do banco de dados
Modos de Leitura/Escrita do Banco de Dados
Anexar Elemento
Desanexar Elemento
Elemento ReadWriteMode
Elemento DbStorageLocation