Adicionar uma conexão ao Banco de Dados SQL do Azure

Com o Visual Studio, você pode conectar qualquer um dos seguintes itens ao Banco de Dados SQL do Azure usando o recurso Serviços Conectados:

  • Aplicativo de console do .NET Framework
  • ASP.NET Modelo-Visão-Controlador (MVC) (estrutura .NET)
  • ASP.NET Core
  • .NET Core (incluindo aplicativo de console, WPF, Windows Forms, biblioteca de classes)
  • Função de trabalho do .NET Core
  • Funções do Azure
  • Aplicativo da Plataforma Universal do Windows
  • Xamarin
  • Cordova

A funcionalidade do serviço conectado adiciona todas as referências necessárias e o código de conexão ao seu projeto, bem como modifica os arquivos de configuração adequadamente.

Observação

Este tópico aplica-se ao Visual Studio no Windows. Para o Visual Studio para Mac, confira Serviços conectados no Visual Studio para Mac.

Pré-requisitos

Conectar-se ao Banco de Dados SQL do Azure usando os Serviços Conectados

  1. Abra o projeto no Visual Studio.

  2. No Gerenciador de Soluções, clique com o botão direito do mouse no nó serviço Conectados e, no menu de contexto, selecione Adicionar para abrir o menu de serviços disponíveis.

    Screenshot showing Connected Services context menu options.

  3. Escolha Banco de dados do SQL Server. A página Conectar-se à dependência é exibida. Você deverá ver várias opções:

    • SQL Server Express LocalDB, a oferta interna do banco de dados SQL instalada com o Visual Studio
    • Banco de dados do SQL Server em um contêiner local em seu computador
    • Banco de dados do SQL Server, um SQL Server local na rede local
    • Banco de dados SQL do Azure para o banco de dados SQL em execução como um serviço do Azure

    Você pode reduzir o custo e simplificar o desenvolvimento antecipado começando com um banco de dados local. Você pode migrar para o serviço ativo no Azure posteriormente repetindo essas etapas e escolhendo outra opção. Se você criar um banco de dados localmente que deseja recriar no Azure, poderá migrar seu banco de dados para o Azure naquele momento.

    Screenshot showing SQL Database choices.

    Para se conectar ao serviço do Azure, prossiga para a próxima etapa ou, se ainda não estiver conectado, entre em sua conta do Azure antes de continuar. Se não tiver uma conta do Azure, você poderá assinar uma versão de avaliação gratuita.

  4. Na tela Configurar Banco de Dados SQL do Azure, selecione um Banco de Dados SQL do Azure existente e selecione Avançar.

    Se precisar criar um componente, passe para a próxima etapa. Caso contrário, passe à etapa 7.

    Screenshot showing

  5. Para criar um banco de dados SQL do Azure:

    1. Selecione Criar pelo sinal de adição verde.

    2. Preencha o Banco de Dados SQL do Azure: Criar Novo e selecione Criar.

      Screenshot showing

    3. Quando a tela Configurar Banco de Dados SQL do Azure é exibida, o novo banco de dados aparece na lista. Selecione o novo banco de dados na lista e selecione Avançar.

  6. Insira um nome de cadeia de conexão ou escolha o padrão e escolha se deseja que a cadeia de conexão seja armazenada em um arquivo de segredos local ou no Azure Key Vault.

    Screenshot showing

  7. A tela Resumo das alterações mostra todas as modificações que serão feitas no projeto se você concluir o processo. Se as alterações parecerem corretas, escolha Concluir.

    Screenshot showing

    Se solicitado a definir regras de firewall, escolha Sim.

    Screenshot showing firewall rules.

  8. No Gerenciador de Soluções, clique duas vezes no nó Serviços Conectados para abrir a guia Serviços Conectados. A conexão é exibida na seção Dependências de Serviço:

    Screenshot showing

    Se você clicar nos três pontos ao lado da dependência adicionada, poderá ver várias opções, como Conectar para reabrir o assistente e alterar a conexão. Você também pode clicar nos três pontos no canto superior direito da janela para ver as opções para iniciar dependências locais, alterar as configurações e muito mais.

Acessar a cadeia de conexão

Saiba como armazenar segredos com segurança seguindo o Armazenamento seguro de segredos do aplicativo em desenvolvimento no ASP.NET Core. Em particular, para ler a cadeia de conexão do repositório de segredos, você poderá adicionar código como em Ler o segredo por meio da API de configuração. Confira também Injeção de dependência no ASP.NET Core.

Migrações do Entity Framework

Pode ser conveniente trabalhar com um armazenamento de dados local durante o desenvolvimento antecipado, mas com o Entity Framework Core, quando você estiver pronto para migrar para a nuvem, poderá usar o suporte do Visual Studio para migração do Entity Framework para mover seu banco de dados ou mesclar alterações com um armazenamento de dados remoto. Confira Visão geral das migrações.

Na guia Serviços Conectados, você pode encontrar os comandos de migração clicando nos três pontos, conforme mostrado na captura de tela:

Screenshot showing migration commands.

Os comandos estão disponíveis lá para criar migrações, aplicá-las diretamente ou gerar scripts SQL que aplicam as migrações.

Adicionar migração

Quando uma alteração de modelo de dados é introduzida, você pode usar as ferramentas do Entity Framework Core para adicionar uma migração correspondente que descreve no código as atualizações necessárias para manter o esquema de banco de dados em sincronia. O Entity Framework Core compara o modelo atual com um instantâneo do modelo antigo para determinar as diferenças e gera arquivos de origem de migração. Os arquivos são adicionados ao seu projeto, geralmente em uma pasta chamada Migrações, e podem ser rastreados no controle do código-fonte do projeto, como qualquer outro arquivo de origem.

Ao escolher essa opção, você será solicitado a fornecer o nome da classe de contexto que representa o esquema de banco de dados que deseja migrar.

Screenshot showing adding an Entity Framework migration.

Atualizar banco de dados

Depois que uma migração for criada, ela poderá ser aplicada a um banco de dados. O Entity Framework atualiza seu banco de dados e seu esquema com as alterações especificadas no código de migração. Ao escolher essa opção, você será solicitado a fornecer o nome da classe de contexto que representa o esquema de banco de dados que deseja migrar.

Gerar Script SQL

A maneira recomendada de implantar migrações em um banco de dados de produção é gerando scripts SQL. As vantagens dessa estratégia incluem o seguinte:

  • Os scripts SQL podem ser revisados quanto à precisão; isso é importante, pois a aplicação de alterações de esquema aos bancos de dados de produção é uma operação potencialmente perigosa que pode envolver perda de dados.
  • Em alguns casos, os scripts podem ser ajustados para atender às necessidades específicas de um banco de dados de produção.
  • Os scripts SQL podem ser usados em conjunto com uma tecnologia de implantação e podem até mesmo ser gerados como parte do processo de CI.
  • Os scripts SQL podem ser fornecidos a um DBA e podem ser gerenciados e arquivados separadamente.

Ao usar essa opção, é solicitado que você forneça a classe de contexto do banco de dados e o local do arquivo de script.

Screenshot showing the Generate SQL script option.

Abrir no Pesquisador de Objetos do SQL Server

Para maior praticidade, esse comando permite que você acesse diretamente o Pesquisador de Objetos do SQL Server, possibilitando exibir tabelas e outras entidades de banco de dados e trabalhar diretamente com seus dados. Confira Pesquisador de Objetos.

Screenshot showing SQL Server Object Explorer.

Próximas etapas

Você pode continuar com os guias de início rápido para banco de dados SQL do Azure, mas, em vez de começar do início, você pode começar depois que a conexão inicial for configurada. Se você estiver usando o Entity Framework, poderá começar em Adicionar o código para se conectar ao Banco de Dados SQL do Azure. Se você estiver usando SqlClient, ou classes de dados ADO.NET, você pode começar em Adicionar o código para se conectar ao Banco de Dados SQL do Azure.

Seu código não corresponderá exatamente ao que é usado nos inícios rápidos, que usam uma forma diferente de obter a cadeia de conexão. As cadeias de conexão são segredos e são armazenadas em segurança, conforme explicado em Armazenamento seguro de segredos do aplicativo no desenvolvimento em ASP.NET Core. Em particular, para ler a cadeia de conexão do repositório de segredos, você poderá adicionar código como em Ler o segredo por meio da API de configuração. Em projetos ASP.NET Core, a cadeia de conexão criada pelos Serviços Conectados está disponível em um objeto de configuração. Você pode acessá-la por uma propriedade na classe WebApplicationBuilder (builder em muitos modelos de projeto), como no seguinte exemplo:

var connection = builder.Configuration["ConnectionStrings:ConnectionString1"];