Compartilhar via


Mover um banco de dados do Analysis Services

Geralmente há situações em que um administrador de banco de dados do Analysis Services (dba) deseja mover um banco de dados modelo multidimensional ou tabular para um local diferente. Estas situações são frequentemente decorrentes de necessidades comerciais, como mover o banco de dados para um disco diferente a fim de obter um desempenho melhor, fazer espaço para o crescimento de banco de dados ou atualizar um produto.

Um banco de dados pode ser movido de muitas formas. Este documento explica os cenários comuns a seguir:

  • Usando o SSMS de modo interativo

  • Usando o AMO de maneira programática

  • 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çãoObservação

Desanexar um banco de dados sem atribuir uma senha a ele deixa o banco de dados em um estado não seguro. 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 do banco de dados, subpastas e arquivos para impedir o acesso não autorizado a ele.

Procedimentos

Movendo um banco de dados de maneira interativa usando SSMS

  1. Localize o banco de dados a ser movido no painel esquerdo ou direito do SSMS.

  2. Clique com o botão direito do mouse no banco de dados e selecione Desanexar....

  3. Atribua uma senha ao banco de dados a ser desanexado e clique em OK para executar o comando Desanexar.

  4. Use qualquer mecanismo de sistema operacional ou método padrão para mover arquivos para mover a pasta do banco de dados para o novo local.

  5. Localize a pasta Bancos de Dados no painel esquerdo ou direito do SSMS.

  6. Clique com o botão direito do mouse na pasta Bancos de Dados e selecione Anexar...

  7. Na caixa de texto pasta, digite o novo local da pasta do banco de dados. Opcionalmente, você pode usar o botão Navegar (.) para localizar a pasta do banco de dados.

  8. Selecione o modo ReadWrite do banco de dados.

  9. Digite a senha usada na etapa 3 e clique em OK para executar o comando Anexar.

Movendo um banco de dados que usa AMO programaticamente

  • Em seu aplicativo C#, adapte o seguinte código de amostra 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

}

}

  1. Em seu aplicativo C#, chame MoveDb() com os parâmetros necessários.

  2. Compile e execute seu código para mover o banco de dados.

Movendo um banco de dados por script usando XMLA

  1. Abra uma nova guia XMLA no SSMS.

  2. Copie 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>

  1. Substitua %dbName% pelo nome do banco de dados e %password% pela senha. Os caracteres % fazem parte do modelo e devem ser removidos.

  2. Execute o comando XMLA.

  3. Use qualquer mecanismo de sistema operacional ou método padrão para mover arquivos para mover a pasta do banco de dados para o novo local.

  4. Copiar o modelo de script a seguir para XMLA em uma nova guia 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>

  1. Substitua %dbFolder% pelo caminho UNC completo da pasta do banco de dados, %ReadOnlyMode% pelo valor correspondente ReadOnly ou ReadWrite e %password% pela senha. Os caracteres % fazem parte do modelo e devem ser removidos.

  2. Execute o comando XMLA.

Consulte também

Referência

Elemento Attach

Elemento Detach

Elemento ReadWriteMode

Elemento DbStorageLocation

Attach

Detach

Conceitos

Anexar e desanexar bancos de dados do Analysis Services

Local de armazenamento do banco de dados

Banco de dados ReadWriteModes