Exercício – conectar-se ao banco de dados e adicionar dados de exemplo

Concluído

Antes de conectar o banco de dados ao aplicativo, é interessante verificar se você consegue se conectar a ele, adicionar uma tabela básica e trabalhar usando dados de exemplo.

Manteremos a infraestrutura, as atualizações de software e os patches do Banco de Dados SQL do Azure. Você pode tratar o Banco de Dados SQL do Azure como trataria qualquer outra instalação do SQL Server. Por exemplo, você pode usar o Visual Studio, o SQL Server Management Studio, o Azure Data Studio ou outras ferramentas para gerenciar o Banco de Dados SQL do Azure.

A maneira de acessar o banco de dados e conectá-lo ao aplicativo fica a seu critério. Para ganhar experiência no trabalho com o banco de dados, aqui você vai se conectar a ele diretamente do portal, criar uma tabela e executar algumas operações CRUD básicas. Aqui, você aprenderá:

  • O que é o Cloud Shell e como acessá-lo do portal.
  • Como acessar informações sobre seu banco de dados da CLI do Azure, incluindo cadeias de conexão.
  • Como conectar-se ao seu banco de dados usando sqlcmd.
  • Como inicializar o banco de dados com uma tabela básica e alguns dados de exemplo.

O que é o Azure Cloud Shell?

Azure Cloud Shell é uma experiência de shell baseada em navegador para gerenciar e desenvolver recursos do Azure. Pense no Cloud Shell como um console interativo executado na nuvem.

Nos bastidores, o Cloud Shell é executado no Linux. Porém, dependendo da sua escolha de ambiente, Linux ou Windows, há duas experiências a escolher: Bash e PowerShell.

O Cloud Shell pode ser acessado de qualquer lugar. Além do portal, você também pode acessar o Cloud Shell do shell.azure.com, do aplicativo móvel do Azure ou do Visual Studio Code.

O Cloud Shell inclui ferramentas e editores de texto populares. Aqui está uma visão rápida dos utilitários az, jq e sqlcmd, que são as três ferramentas que você usará para este exercício.

  • az também é conhecido como a CLI do Azure. É a interface de linha de comando para trabalhar com recursos do Azure. Você usará esta interface para obter informações sobre seu banco de dados, incluindo a cadeia de conexão.
  • jq é um analisador JSON de linha de comando. Você direcionará a saída dos comandos az para essa ferramenta para extrair campos importantes da saída JSON.
  • sqlcmd permite que você execute instruções no SQL Server. Você usará sqlcmd para criar uma sessão interativa com o Banco de Dados SQL do Azure.

Obter informações sobre o Banco de Dados SQL do Azure

Antes de conectar-se ao banco de dados, é bom verificar se ele existe e está online.

Aqui, você usa o utilitário az para listar seus bancos de dados e mostrar algumas informações sobre o banco de dados de Logística, incluindo seu tamanho máximo e status.

  1. Visite shell.azure.com ou, no portal do Azure, selecione o botão Cloud Shell nos controles globais da janela do portal do Azure.

  2. Se for dada a opção, escolha Bash para este exercício de aprendizagem.

  3. No item pop-up Introdução, selecione Nenhuma conta de armazenamento necessária. Selecione a sua assinatura na lista suspensa Assinatura. Escolha Aplicar. O novo terminal do Cloud Shell é carregado.

  4. Os comandos az que você executará exigem o nome do grupo de recursos e o nome do servidor lógico do SQL do Azure. Execute o comando azure configure para especificá-los como valores padrão em vez de digitá-los.

    Substitua [server-name] pelo nome do servidor lógico do SQL do Azure que você criou e [resource-group] pelo grupo de recursos usado para o servidor.

    Dica

    Para colar em um Cloud Shell, use Ctrl+Shift+V em vez de Ctrl+V. Use Ctrl+C para limpar o comando atual do terminal.

    az configure --defaults group=[resource-group] sql-server=[server-name]
    

    Observação

    Dependendo do painel no portal do Azure, o nome do SQL Server é exibido como um nome de domínio totalmente qualificado (FQDN) (por exemplo, servername.database.windows.net) ou autônomo (servername). Para este comando, você só precisa do nome lógico sem o sufixo .database.windows.net.

  5. Execute o comando az sql db list a seguir para listar todos os bancos de dados no servidor lógico do SQL do Azure:

    az sql db list
    

    Você vê um grande bloco de JSON como saída.

  6. Como queremos ver apenas os nomes de banco de dados, execute o comando uma segunda vez. Mas desta vez, direcione a saída para jq a fim de exibir somente os campos de nome.

    az sql db list | jq '[.[] | {name: .name}]'
    

    Você deverá obter esta saída:

    [
      {
        "name": "Logistics"
      },
      {
        "name": "master"
      }
    ]
    

    Logistics é o banco de dados do usuário. Assim como no SQL Server, o banco de dados do sistema master inclui metadados de servidor, como logons e configurações do sistema.

  7. Execute o comando az sql db show a seguir para obter detalhes sobre o banco de dados Logistics:

    az sql db show --name Logistics
    

    Como antes, você vê um grande bloco de JSON como saída.

  8. Execute o comando uma segunda vez. Nesse momento, direcione a saída para jq para limitá-la somente ao nome, ao tamanho máximo e ao status do banco de dados de Logística.

    az sql db show --name Logistics | jq '{name: .name, maxSizeBytes: .maxSizeBytes, status: .status}'
    

    Você verá que o banco de dados está online e o valor máximo de volume que pode ser armazenado nele.

    {
      "name": "Logistics",
      "maxSizeBytes": 2147483648,
      "status": "Online"
    }
    

    Se você escolheu a oferta gratuita do Banco de Dados SQL do Azure, o banco de dados sem servidor pausa automaticamente para conservar seus segundos de vCore gratuitos, para que você possa ver o seu banco de dados Logistics com o status Em pausa após um período de inatividade.

Conectar-se ao seu banco de dados

Uma cadeia de conexão contém todas as informações necessárias para um aplicativo se conectar ao banco de dados. Enquanto você ainda estiver no Cloud Shell, vamos começar colocando a sua cadeia de conexão lá.

Cadeia de conexão do Cloud Shell

Execute o comando az sql db show-connection-string a seguir para obter a cadeia de conexão do banco de dados Logistics em um formato que o sqlcmd possa usar:

```azurecli
az sql db show-connection-string --client sqlcmd
```

Your output resembles the following example. Copy this output for use in the next step.

```output
"sqlcmd -S tcp:<server-name>.database.windows.net,1433 -d Logistics -U <username> -P <password> -N -l 30"
```

Cadeia de conexão do portal do Azure

O portal do Azure fornece cadeias de conexão para vários provedores de dados para o seu banco de dados SQL do Azure de forma facilmente acessível.

  1. No portal do Azure, navegue até o banco de dados SQL.
  2. No menu de serviço do banco de dados SQL, em Configurações, selecione Cadeias de conexão.
  3. Escolha o provedor de dados e o método de conexão desejados.

Conectar-se ao banco de dados com o Visual Studio Code

Vamos usar uma ferramenta gráfica para se conectar ao novo Banco de Dados SQL do Azure. O Visual Studio Code é um editor de código aberto popular para Linux, macOS e Windows. Ele dá suporte a extensões, incluindo a extensão mssql. Você pode usar a extensão para consultar o SQL Server, o Banco de Dados SQL do Azure, a Instância Gerenciada de SQL do Azure, o Banco de Dados SQL no Fabric e outras plataformas.

  1. Baixe e instale o Visual Studio Code.

  2. No Visual Studio Code, abra o modo de exibição Extensões selecionando o ícone Extensões na Barra de atividades na lateral da janela. Pesquise mssql e selecione Instalar para adicionar a extensão. e a extensão mssql para a sua estação de trabalho local.

    Dica

    Para o desenvolvimento futuro do projeto de aplicativo de seus objetos de banco de dados, use também a extensão Projetos do Banco de Dados SQL para Visual Studio Code. Esta ferramenta permite que você trabalhe com o seu banco de dados no controle do código-fonte, capture esquemas de banco de dados existentes, crie novos objetos e publique em bancos de dados.

  3. Na lista de extensões, escolha a extensão do SQL Server.

  4. Em CONEXÕES, selecione Adicionar conexão.

    Captura de tela do Visual Studio Code, com a caixa de diálogo Adicionar conexão da extensão mssql aberta.

  5. Dê à sua nova conexão um nome personalizado fácil de lembrar em Nome do perfil.

  6. Você tem várias maneiras de fornecer as informações de conexão:

    • Escolha Parâmetros para inserir manualmente o nome do servidor lógico do SQL do Azure, o nome do banco de dados, o nome de usuário e a senha.
    • Escolha Cadeia de conexão para colar na cadeia de conexão do banco de dados e, em seguida, adicione o nome de usuário e a senha.
    • Escolha Procurar no Azure para se conectar à sua assinatura do Azure no VS Code e selecione o seu novo Banco de Dados SQL do Azure em uma lista.
  7. Para este exercício de aprendizagem, escolha Procurar no Azure. Conecte-se à sua assinatura do Azure do VS Code.

  8. Selecione a sua Assinatura na lista.

  9. Selecione o seu Grupo de recursos na lista.

  10. Selecione o Servidor e Banco de dados na lista.

  11. Com o Tipo de autenticação definido como Logon do SQL, forneça o Nome de usuário e a Senha que criamos no último módulo.

  12. Selecione Conectar.

  13. Quando você se conecta com sucesso, a caixa de diálogo Adicionar conexão desaparece. Ela é substituída pela conexão do servidor e por um pesquisador de objetos de Tabelas, Exibições, etc.

    Captura de tela da extensão mssql do VS Code com o servidor conectado e objetos de banco de dados exibidos.

Consultar o seu banco de dados com o Visual Studio Code

Vamos executar uma série de comandos para executar operações CRUD (Criar, Ler, Atualizar, Excluir) básicas no Banco de Dados SQL do Azure.

  1. Clique com o botão direito do mouse na linha de nome do servidor em CONEXÕES e selecione Nova consulta.

    Captura de tela da opção Nova consulta em Conexões na extensão mssql para Visual Studio Code.

  2. Na nova janela de consulta, vamos criar o nosso primeiro objeto de banco de dados colando no comando a seguir para criar uma nova tabela chamada Drivers.

    CREATE TABLE Drivers (DriverID int IDENTITY(1,1), LastName varchar(255), FirstName varchar(255), OriginCity varchar(255));
    GO
    

    A tabela contém quatro colunas: um identificador exclusivo, o sobrenome e o nome do motorista e a cidade de origem do motorista.

  3. Selecione o botão Executar consulta para executar os comandos T-SQL na janela de consulta.

    Dica

    Para executar um único comando T-SQL entre muitos em uma janela de consulta, arraste e selecione a consulta desejada e Executar.

    Captura de tela da janela Nova consulta com o comando T-SQL para a tabela Drivers. O botão Executar está realçado.

    Como quase tudo no Visual Studio Code, os atalhos de teclado podem ser personalizados no Visual Studio Code. No Windows, o atalho de teclado padrão para Executar é Ctrl + Shift + E.

  4. Em seguida, execute as seguintes instruções T-SQL para verificar se a tabela Drivers existe, consultando metadados de banco de dados:

    SELECT name FROM sys.tables;
    GO
    

    Na guia Resultados da consulta, em Resultados, você deverá ver que Drivers consta na lista de tabelas.

    name
    -------
    Drivers
    
  5. Vamos adicionar uma linha à nossa tabela. Execute as seguintes instruções T-SQL para adicionar uma linha de exemplo à tabela:

    INSERT INTO Drivers (LastName, FirstName, OriginCity) VALUES ('Zirne', 'Laura', 'Springfield');
    GO
    

    Esta saída indica que a operação foi bem-sucedida:

    3:14:01 PM
    Started executing query at Line 7
    (1 row affected)
    Total execution time: 00:00:00.044
    
  6. Para ver a linha que inserimos, execute as seguintes instruções T-SQL para listar as colunas DriverID e OriginCity de todas as linhas da tabela:

    SELECT DriverID, OriginCity FROM Drivers;
    GO
    

    Será exibido um resultado com DriverID e OriginCity para a linha que você criou na etapa anterior.

    DriverID    OriginCity
    ----------- --------------------------
    1           Springfield
    
  7. Vamos atualizar a linha e alterar a OriginCity. Execute o T-SQL a seguir para alterar a cidade de origem de "Springfield" para "Boston" para o motorista com um DriverID de 1:

    UPDATE Drivers SET OriginCity='Boston' WHERE DriverID=1;
    GO
    

    Você deve receber uma mensagem confirmando a execução da consulta na janela Resultados da consulta:

    3:14:29 PM
    Started executing query at Line 13
    (1 row affected)
    Total execution time: 00:00:00.031
    
  8. Execute as seguintes instruções T-SQL para listar as colunas DriverID e OriginCity novamente:

    SELECT DriverID, OriginCity FROM Drivers;
    GO
    

    Agora, deverá obter a saída a seguir. Observe como OriginCity reflete a atualização para Boston.

    DriverID    OriginCity
    ----------- --------------------------
    1           Boston
    
  9. Por fim, vamos remover essa linha executando a seguinte instrução T-SQL para excluir o registro:

    DELETE FROM Drivers WHERE DriverID=1;
    GO
    
    3:15:00 PM
    Started executing query at Line 16
    (1 row affected)
    Total execution time: 00:00:00.017
    
  10. Execute as seguintes instruções T-SQL para verificar se a tabela Drivers está vazia:

    SELECT COUNT(*) FROM Drivers;
    GO
    

    Veja que a tabela não contém nenhuma linha.

    -----------
              0
    

Agora que você tem uma ideia geral sobre como trabalhar com o Banco de Dados SQL do Azure no Cloud Shell e no Visual Studio. Você pode usar a cadeia de conexão para a sua ferramenta de gerenciamento de SQL favorita, incluindo o SQL Server Management Studio, o Visual Studio ou aplicativos personalizados.

O Cloud Shell torna mais fácil acessar recursos do Azure de qualquer tipo e trabalhar com eles. Como o Cloud Shell é baseado em navegador, você pode acessá-lo no Windows, macOS ou Linux; em qualquer sistema com um navegador da Web.

Você ganhou uma experiência prática executando comandos T-SQL no Visual Studio Code e praticou suas habilidades de T-SQL.

Na próxima unidade, concluiremos esse módulo e descreveremos como desativar seu banco de dados.