Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste início rápido, você usará um único comando no sqlcmd para criar um novo contêiner e restaurar um banco de dados para esse contêiner para criar uma nova cópia local de um banco de dados, para desenvolvimento ou teste.
Pré-requisitos
- Um ambiente de execução de contentor instalado, como Docker ou Podman
- Transferir e instalar o Azure Data Studio
- Instale o sqlcmd mais recente
Observações
A instalação do sqlcmd (Go) por meio de um gerenciador de pacotes substitui sqlcmd (ODBC) por sqlcmd (Go) no caminho do ambiente. Todas as sessões de linha de comando atuais precisam ser fechadas e reabertas para que essa alteração entre em vigor. sqlcmd (ODBC) não é removido e ainda pode ser usado especificando o caminho completo para o executável.
Você também pode atualizar sua PATH variável para indicar qual versão tem precedência. Para fazer isso no Windows 11, abra Configurações do sistema e vá para Sobre > Configurações avançadas do sistema. Quando Propriedades do Sistema for aberto, selecione o botão Variáveis de Ambiente. Na metade inferior, em Variáveis do sistema, selecione Caminho e, em seguida, selecione Editar. Se o local sqlcmd (Go) for salvo em (C:\Program Files\sqlcmd é padrão) e estiver listado antes de C:\Program Files\Microsoft SQL Server\<version>\Tools\Binn, então sqlcmd (Go) será usado.
Você pode inverter a ordem para tornar sqlcmd (ODBC) o padrão novamente.
Baixe e instale o sqlcmd (Go)
Para obter mais informações, consulte Baixar e instalar o utilitário sqlcmd.
Que problema vamos resolver?
Este guia de início rápido percorre o processo de criação de uma cópia local de um banco de dados e, em seguida, consulta-o para analisar os gastos por cliente.
Criar um novo contêiner e restaurar um banco de dados
Crie uma nova instância do SQL Server em um contêiner usando a versão mais recente do SQL Server. O comando também restaura o banco de dados WideWorldImporters.
Abra uma nova janela do terminal e execute o seguinte comando:
sqlcmd create mssql --name sql1 --accept-eula --using https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak
Consultar o banco de dados no Azure Data Studio
Abra o Azure Data Studio e dê uma olhada nos dados.
Na mesma janela do terminal, execute o seguinte comando:
sqlcmd open adsAgora que você tem uma cópia local do seu banco de dados, você pode executar consultas. Aqui está uma consulta que você pode usar para analisar os gastos por cliente:
SELECT bg.BuyingGroupName AS CustomerName, COUNT(DISTINCT i.InvoiceID) AS InvoiceCount, COUNT(il.InvoiceLineID) AS InvoiceLineCount, SUM(il.LineProfit) AS Profit, SUM(il.ExtendedPrice) AS ExtendedPrice FROM Sales.Invoices AS i INNER JOIN Sales.Customers AS c ON i.CustomerID = c.CustomerID INNER JOIN Sales.InvoiceLines AS il ON i.InvoiceID = il.InvoiceID INNER JOIN Sales.BuyingGroups AS bg ON c.BuyingGroupID = bg.BuyingGroupID GROUP BY bg.BuyingGroupName UNION SELECT c.CustomerName, COUNT(DISTINCT i.InvoiceID) AS InvoiceCount, COUNT(il.InvoiceLineID) AS InvoiceLineCount, SUM(il.LineProfit) AS Profit, SUM(il.ExtendedPrice) AS ExtendedPrice FROM Sales.Invoices AS i INNER JOIN Sales.Customers AS c ON i.CustomerID = c.CustomerID INNER JOIN Sales.InvoiceLines AS il ON i.InvoiceID = il.InvoiceID LEFT OUTER JOIN Sales.BuyingGroups AS bg ON c.BuyingGroupID = bg.BuyingGroupID WHERE bg.BuyingGroupID IS NULL GROUP BY c.CustomerName ORDER BY Profit DESC;
Como resolvemos o problema?
Você foi capaz de criar rapidamente uma cópia local de um banco de dados para fins de desenvolvimento e teste. Com um único comando, você criou uma nova instância local e restaurou o backup mais recente para ela. Em seguida, você executou outro comando para se conectar a ele por meio do Azure Data Studio. Em seguida, você consultou o banco de dados usando o Azure Data Studio para analisar os gastos por cliente.
Limpeza de recursos
Quando terminar de experimentar o banco de dados, exclua o contêiner com o seguinte comando:
sqlcmd delete --force
A --force bandeira é usada aqui por conveniência, uma vez que estamos em um ambiente de demonstração. Na maioria dos casos, é melhor deixar o --force sinalizador desligado para garantir que você não esteja excluindo inadvertidamente um banco de dados que não pretende fazer.