Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Migrando o banco de dados local para o SQL Azure

Neste artigo você vai migrar o banco de dados da aplicação TailspinSpyworks para SQL Azure e configurar a aplicação para acessar o novo banco de dados.

Este é o segundo artigo que cobre o conteúdo de migração de um web site para Windows Azure, estes artigos fazem parte da academia do Windows Azure disponível no MVA - Microsoft Virtual Academia.

Passo 1 – Fazer o "Attach" do banco Commerce no SQL Server Express

Neste passo você fará o "Attach" do banco de dados Commerce usado no projeto, dentro do SQL Server Express instalado na máquina local.

  1. Execute o Microsoft SQL Server Management Studio como administrador de Start | All Programs | Microsoft SQL Server Management Studio clique com o botão direito do mouse no atalho para o Microsoft SQL Server Management Studio e escolha Run as administrator.

 

  1. Se a janela User Account Control aparecer, clique Yes.
  1. Conecte no SQL Server Express instalado na máquina local.

 

  1. Faça o Attach (Anexar) do banco de dados Commerce clicando com o botão direito do mouse e Databases (Banco de dados) | Attach (Anexar). Na janela Attach Databases (Anexar banco de dados), clique no botão Add... (Adicionar...) e localize o arquivo do banco de dados Commerce.mdf (o arquivo está na pasta App_Data do projeto), em seguida clique em  OK.

 


OBS: Altere o valor da coluna Attach as (Anexar Como) em destaque, esse valor será utilizado como o nome do seu banco de dados. Utilize o nome Commerce.

 Passo 2 – Preparar sua conta no SQL Azure.

Neste passo você vai preparar a sua conta no SQL Azure.

  1. Acesse pelo Internet Explorer o portal do Windows Azure Platform https://windows.azure.com.
  1. Faça login com sua conta do Windows Live.

 

  1. Na página web inicial do Windows Platform Azure, clique em Novo Servidor de Banco de Dados (ou New Database Server).

 

  1. Para criar o servidor,      selecione a sua subscrição no painel da esquerda.  Clique em Criar (Create) na faixa de opções  do Server.

 

  1. Secione a região da lista Region (drop down) e clique em Next. A localização determina em qual datacenter o banco de dados vai ser criado.

 

  1. Informe um nome e senha para a conta de administração e clique em Próximo.

Nota: Uma conta de administração é a conta master usada para gerenciar o novo servidor. Você deve evitar o uso desta conta nas strings de conexão onde o usuário e senha são expostos. A política de senha requer que a senha siga certas regras.

 

  1. Clique em Concluir para criar o novo servidor.  Faremos a inclusão das regras de firewall em um segundo momento.

 

 

  1. Por final, as informações do  novo servidor são mostradas, incluindo o Nome do servidor Totalmente      qualificado (Fully Qualified Server Name).

 

Nota: O nome do servidor totalmente qualificado (fully qualified domain name) do servido tem o seguinte formato:

  •     <NomeDoServidor>.database.windows.net
  • onde <NomeDoServidor> identifica o servidor, exemplo: a9ixtp7pux.database.windows.net.
  1. Expanda o nó da subscrição  dentro do painel da esquerda e clique no nome do servidor que você criou.  A página Informações do Servidor (Server Information) permite a você fazer a administração básica do servidor de banco de dados.

 

  1. As regras de firewall (Firewall Rules) permite você especificar uma lista de endereços IP que podem acessar seu o serviço SQL Azure. O firewall irá negar TODAS as conexões por padrão, então configure a lista para permitir que sua aplicação acesse o servidor.

 

  1. Clique em adicionar, para  incluir uma nova regra de firewall

 

Em seguida preencha as informação da pop-up de inclusão de regra, perceba que a interface já apresenta o seu endereço IP para facilitar a inclusão da regra. Quando preencher todos os campos, o botão de OK vai ficar habilitado para o clique

 

Agora você já tem um servidor de banco de dados criado e pronto para os próximos passos deste laboratório. Este banco de dados pode ser acessado de qualquer lugar do mundo, desde que possua a regra de firewall definida que permita o acesso.

Passo 3 – Criar o banco de dados Commerce no SQL Azure.

Neste passo você vai criar o banco de dados Commerce dentro do SQL Azure.

  1. Execute o Microsoft SQL Server Management Studio como administrador. Start | All Programs | Microsoft SQL Server Management Studio clique com o botão direito do mouse no atalho para do Microsoft SQL Server Management Studio e escolher Run as administrator.

 

  1. Se a janela User Account Control aparecer, clique Yes.
  2. Na janela Connectar ao Servidor,  informe o Nome DNS Totalmente qualificado (fully qualified domain name) do servidor, usuário e senha. Em seguida clique em conectar.

 

  1. Agora você deve estar visualizando a estrutura do seu banco de dados (SQL Azure) no Object Explorer . Clique com o botão direito do mouse em Databases | New Database.

 

  1. Um template de script será  apresentado para criação de banco de dados. Troque o texto <Database_Name, sysname,  Database_Name> para Commerce, em seguida clique em Execute.

 

  1. Verifique se o banco de dados Commerce foi criado clicando em Refresh, agora você está pronto para migrar o seu banco de dados do SQL Server Express local para o SQL Azure.

Passo 4 – Migrar o banco de dados Commerce do SQL Express local para o SQL Azure.

Neste passo você usará o SQL Azure Migration Wizard que está disponível no CodePlex, acesse a URL http://sqlazuremw.codeplex.com/ e faça download da ferramenta. Com ela migraremos a estrutura e os dados de  Commerce do SQL Express local para o SQL Azure.

  1. Execute o SQL Azure Migration Wizard (executando o arquivo SQLAzureMW.exe) e selecione a opção Analyze / Migrate | SQL Database em seguida clique botão Next.

  1. Informe os dados para conectar ao banco Commerce do SQL Server Express local e clique em Connect.

 

  1. Na próxima janela exibida selecione o banco de dados [Commerce]. Clique em Next.

  1. Selecione todos os objetos do banco de dados (All database objects) e clique em Next

  1. Um resumo é apresentado na sequencia. Clique em Next.

 

  1. Clique em Yes no pop-up, para responder que está pronto para gerar o script.

 

 

  1. Assim que o SQLAzureMW terminar o processo é apresentado um log da execução. Verifique se ocorreu algum erro no processo. Em seguida clique em Next.

  1. Informe os dados para conectar ao banco Commerce do SQL Azure e clique em Connect.

 

  1. Em seguida, selecione o banco de dados Commerce e clique em Next.

 

  1. Clique em Yes no pop-up, para responder que está pronto para executar o script.

 

  1. Assim que o SQLAzureMW terminar o processo é apresentado um log do processo executado. Verifique se ocorreu algum erro no processo. Em seguida clique em Exit

  1. Seu banco de dados já foi migrado para o SQL Azure. Agora execute o Microsoft SQL Server Management Studio e verifique se o banco de dados Commerce foi criado no SQL Azure conforme a imagem abaixo.

 

Passo 5 – Configurar a aplicação para acessar o banco de dados Commerce no SQL Azure

Neste passo você vai alterarar o arquivo de configuração do projeto Web.config para que a string de conexão do banco acesse o banco de dados Commerce no SQL Azure e não mais do SQL Server Express local. Para tanto, execute os passos a seguir.

  1. Execute o Visual Studio como administrador de Start | All Programs | Microsoft Visual Studio e clique com o botão da direita no atalho do Microsoft Visual Studio 2010 e escolha Run as administrator (para      facilitar o dia a dia, eu já deixei configurado no próprio atalho do Visual Studio para executar como administrador).
  2. Se a janela User Account Control aparecer, clique Yes.
  1. Na opção File do menu, escolha Open em seguida Project/Solution
  1. Na janela Open Project, procure o arquivo TailspinSpyworks.sln para abrir a solução.
  1. Pelo Solution Explorer, abra o arquivo Web.config.
  1. Procure a sessão <connectionStrings> e altere a string de conexão como o exemplo abaixo. Não esqueça de alterar o nome do servidor, usuário e senha.

 

    <add name="CommerceEntities" connectionString="metadata=res://*/Data_Access.EDM_Commerce.csdl|res://*/Data_Access.EDM_Commerce.ssdl|res://*/Data_Access.EDM_Commerce.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=[seu servidor].database.windows.net;Initial Catalog=Commerce;User ID=[usuario];Password=[senha];MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

Para exercício repita o as etapas para transferir o banco AspnetDB para o banco Commerce do SQL Azure. Como vamos utilizar o banco de dados Commerce como destino não é preciso criar um novo banco de dados no SQL Azure. 

Nota: Após migrar o banco de dados AspnetDB para o banco de dados Commerce, não há necessidade de possuirmos duas strings de conexão apontando para o mesmo banco de dados. Sugiro utilizar somente a CommerceEntities e alterar tudo que for ApplicationServices nos providers por CommerceEntities.

Após realizar a migração de ambos os bancos de dados para o SQL Azure, o banco Commerce ficará assim.

Execute a aplicação pelo Visual Studio para testar se está acessando o banco de dados Commerce do SQL Azure.

Quantos passos não é mesmo, mas o procedimento é simples. Se tiverem algum problema para realizar a migração do banco de dados AspnetDB, inclua um comentário com sua dúvida que responderei na medida do possível.

Faça download do projeto alterado aqui.

Abraço,

Vinícius.

 

Tags:

Follow the Discussion

  • Flavio NicastroFlavio Nicastro

    Vinicius, como faço para fazer back-up e restore de databases no sql azure?
    Como "subo" um back-up para a nuvem?


    Já tive alguns problemas de migração de bases, que perdem identitys, relacionamentos etc... Com esta ferramenta de migração, os identitys e relacionamentos são preservados?

  • Vinicius,

    Uma pequena errata:

    No Passo 2 "Preparar sua conta no SQL Azure", item 3 "Na página web inicial do Windows Platform Azure, clique em Novo Servidor de Banco de Dados (ou New Database Server).", você destacou o ícone de "Novo Serviço Hospedado", acredito que o correto seria o ícone de " Novo Servidor de Banco de Dados".

    Ótimo tutorial.

    Abraços!

  • Muito esclarecedor. Tae um recurso que visivelmente precisa de melhorias. É estranho duas ferramentas top precisarem de outro programa para fazer uma migração que deveria ser opção básica entre as duas.

    Fazer upload do mdf como blob e depois anexar no SQL parece uma solução bem mais "Azure".

  • Vinícius SouzaVinicius_​Souza Developer Evangelist

    @EliezerPerlmutter: Muito obrigado Eliezer!

  • Leo Wagner de SouzaLeo Wagner de Souza

    A integração entre o SQL Management Studio e o Azure ainda deixa muito a desejar.
    Não é possível alterar a estrutura da tabela diretamente, nem gerar scripts do banco que está na nuvem.
    Backup também não consigo fazer.
    Mas por outro lado já tenho 6 bancos na nuvem, a performance e estabilidade não tem igual.
    Vamos esperar as próximas ferramentas e torcer.

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.