Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como instalar o SQL Server em um Mac M1 (ARM64)


Expliquei anteriormente como instalar o SQL Server em um Mac usando a imagem do SQL Server para Linux Docker.

Desde então, a Apple lançou seu chip M1, que usa arquitetura ARM. Isso pode causar um problema ao tentar instalar o SQL Server. O problema é que, no momento da escrita, o SQL Server não é compatível com a arquitetura ARM.

Felizmente, existe uma alternativa.

A imagem de contêiner do Azure SQL Edge pode ser instalada no M1 Mac. Portanto, podemos usar essa imagem em vez da imagem do SQL Server.

O Azure SQL Edge é um mecanismo de banco de dados relacional otimizado voltado para implantações de IoT e IoT Edge. Ele foi desenvolvido com base nas versões mais recentes do Mecanismo de Banco de Dados do SQL Server, para que você possa usar o código T-SQL da mesma forma que faria ao usar o SQL Server. Você também pode usar as mesmas ferramentas para consultar o Azure SQL Edge que usaria com o SQL Server (como SSMS, Azure Data Studio etc.).

Neste artigo, instalo a Developer Edition do Azure SQL Edge em um Mac com o chip M1.

Instalar o Docker


Visto que estamos instalando o SQL Edge por meio de um contêiner do Docker, precisamos ter o Docker instalado.

Se você ainda não possui o Docker, faça o download e instale-o da seguinte forma:
  1. Baixe o Docker no site do Docker. Certifique-se de baixar o do M1 Mac (o botão se chamava Mac with Apple Chip quando baixei).
  2. Após o download, abra o .dmg arquivo e arraste o ícone Docker.app para a pasta Aplicativos conforme as instruções.
  3. Inicie o Docker da mesma forma que iniciaria qualquer outro aplicativo (por exemplo, por meio da pasta Aplicativos, do Launchpad etc.). Ao abrir o Docker, você pode ser solicitado a fornecer sua senha. Vá em frente e forneça sua senha, pois o Docker precisa que ela seja executada.

Instalar o Azure SQL Edge


Agora que o Docker está instalado, podemos prosseguir e instalar o Azure SQL Edge. Como mencionado, isso usa o SQL Server Database Engine e, portanto, podemos usá-lo para executar consultas T-SQL, etc., como se estivéssemos consultando o SQL Server.

Abra uma janela do Terminal e execute o seguinte comando:
docker pull mcr.microsoft.com/azure-sql-edge

Isso puxa/baixa a imagem do contêiner para sua máquina local.

Você também pode verificar as opções de contêiner no site do Docker, se preferir.

Quando o download estiver concluído, execute o seguinte comando para iniciar uma instância da imagem do Docker que você acabou de baixar:
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=bigStrongPwd' -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge

Certifique-se de alterar bigStrongPwd para uma senha forte de sua escolha. Você também pode alterar o valor do --name parâmetro, se desejar.

Por padrão, o contêiner é executado com a Developer Edition. Você pode executar a Premium Edition adicionando -e 'MSSQL_PID=Premium' .

Verifique o contêiner do Docker


Podemos usar o seguinte comando para verificar se o contêiner está funcionando:
docker ps

Resultado:
a190dd199b17   mcr.microsoft.com/azure-sql-edge   "/opt/mssql/bin/perm…"   10 seconds ago   Up 9 seconds   1401/tcp, 0.0.0.0:1433->1433/tcp   sqledge

Isso me mostra que o contêiner está, de fato, em funcionamento.

Se, por algum motivo, seu contêiner não estiver funcionando, tente o seguinte comando:
docker start sqledge

Substituir sqledge com o nome do seu contêiner.

Com o contêiner em execução, agora podemos prosseguir e nos conectar ao SQL Edge.

Conectar ao SQL Edge


Agora você pode se conectar à instalação do Azure SQL Edge usando os detalhes fornecidos ao iniciar a imagem do Docker.

Aqui está uma captura de tela de conexão ao Azure SQL Edge por meio do Azure Data Studio:

Veja como instalar o Azure Data Studio em um Mac.

A Microsoft afirma que o Azure Data Studio “atualmente não suporta a arquitetura ARM”, mas não tive nenhum problema em instalá-lo no meu M1 Mac (ou seja, com arquitetura ARM).

Executar consultas SQL


Uma vez conectado ao SQL Edge, você pode criar bancos de dados, executar consultas T-SQL, etc (T-SQL é a extensão do SQL Server para SQL).

Veja meu tutorial de SQL para se familiarizar com a execução de consultas SQL.

Recursos suportados no SQL Edge


Devo mencionar que alguns recursos do SQL Server não são suportados no SQL Edge. O Azure SQL Edge dá suporte a um subconjunto dos recursos com suporte do SQL Server 2019 no Linux.

Dito isso, o SQL Edge tem alguns recursos que não estão disponíveis no SQL Server (como o DATE_BUCKET() função).

Consulte recursos com suporte do Azure SQL Edge no site da Microsoft para obter um detalhamento completo.