Veremos neste documento como executar um servidor Microsoft SQL Server na plataforma Linux. Acredito ser uma oportunidade para a comunidade GNU/Linux prover serviços de migração de servidores (local ou em Azure), como também uma ocasião favorável para remover muitos servidores Windows Server da ilegalidade. Agradecimentos em especial para Paula Bellizia e Adriano Bottas da Microsoft pelo apoio no trabalho de interoperabilidade.
Para instalar as ferramentas clientes, devemos adicionar o repositório da Microsoft conforme o exemplo abaixo. Não esqueça de utilizar o comando zypper ref para atualizar o repositório recém adicionado.
# zypper ar https://packages.microsoft.com/config/sles/12/prod.repo Adicionando o repositório 'packages-microsoft-com-prod' ......................[concluído]
Repositório 'packages-microsoft-com-prod' adicionado com sucesso
Habilitado : Sim
Atualização automática : Não
Verificação GPG : Sim
Prioridade : 99
URI : https://packages.microsoft.com/sles/12/prod
Utilize o comando zypper com os respectivos nomes dos pacotes MSSQL-TOOLS e unixODBC-devel para instalar os pacotes clientes e utilitários. Lembre-se de ler, e somente se estiver de acordo,aceite os termos de Licenciamento.
# zypper install mssql-tools unixODBC-devel Carregando dados do repositório...
Lendo os pacotes instalados...
Resolvendo dependências de pacote...
Os seguintes 3 pacotes NOVOS serão instalados:
msodbcsql mssql-tools unixODBC-devel
3 novos pacotes a serem instalados.
Tamanho total do download: 4,8 MiB. Já em cache: 0 B. Após a operação, 17,2 MiB adicionais serão utilizados.
Continuar? [s/n/? exibe todas as opções] (s):
Baixando pacote msodbcsql-13.1.3.0-1.x86_64 (1/3), 3,5 MiB ( 15,8 MiB descompactado)
Baixando: msodbcsql-13.1.3.0-1.x86_64.rpm .......................[concluído (52,8 KiB/s)]
Baixando pacote mssql-tools-14.0.2.0-1.x86_64 (2/3), 1,2 MiB ( 1,2 MiB descompactado)
Baixando: mssql-tools-14.0.2.0-1.x86_64.rpm .....................[concluído (47,2 KiB/s)]
Baixando pacote unixODBC-devel-2.3.4-1.5.x86_64 (3/3), 40,5 KiB (192,1 KiB descompactado)
Baixando: unixODBC-devel-2.3.4-1.5.x86_64.rpm ................................[concluído]
Verificando por conflito de arquivos: ........................................[concluído]
(1/3) Instalando: msodbcsql-13.1.3.0-1.x86_64 ----------------------------------------[|]The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746838 and found in
/usr/share/doc/msodbcsql/LICENSE.TXT . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
(1/3) Instalando: msodbcsql-13.1.3.0-1.x86_64 ................................[concluído]
(2/3) Instalando: mssql-tools-14.0.2.0-1.x86_64 --------------------------------------[-]The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
(2/3) Instalando: mssql-tools-14.0.2.0-1.x86_64 ..............................[concluído]
(3/3) Instalando: unixODBC-devel-2.3.4-1.5.x86_64 ............................[concluído]
Crie os links simbólicos na pasta /usr/bin como super-usuário:
Para acessar o servidor utilizando o comando SQLCMD, deixo alguns exemplos de manipulação e uso desta serviço/ferramenta.
sqlcmd -S [IP-SERVIDOR] -U SA -P [SENHA DO ADMINISTRATIVA]
1>
Testando consultas SQL no console:
1> SELECT Name from sys.Databases;
2> GO Name
----------------------------
master
tempdb
model
msdb
(4 rows affected)
Criando banco de dados:
1> CREATE DATABASE testdb;
2> GO
1>
Utilizando/abrindo o banco de dados desejado:
1> USE testdb;
2> GO
Changed database context to 'testdb'.
Criando tabelas:
1> CREATE TABLE inventory (id INT, name NVARCHAR(50), quantity INT);
2> GO
1>
(1 rows affected)
Inserindo dados na tabela:
1> INSERT INTO inventory VALUES (1, 'banana', 150);
2> INSERT INTO inventory VALUES (2, 'orange', 154);
3> GO
(1 rows affected)
Consultando dados:
1> SELECT * FROM inventory WHERE quantity > 152;
2> GO
id name quantity
----------- -------------------------------------------------- -----------
2 orange 154
(1 rows affected)
1>
1> QUIT
Para remover o serviço, use o comando zypper com o parâmetro rm e exclusão da pasta /var/opt/mssql/:
# zypper remove mssql-server Carregando dados do repositório...
Lendo os pacotes instalados...
Resolvendo dependências de pacote...
O seguinte pacote será REMOVIDO:
mssql-server
1 pacote para remover.
Após a operação, 669,3 MiB será liberado.
Continuar? [s/n/? exibe todas as opções] (s):
(1/1) Removendo mssql-server-14.0.200.24-2.x86_64 ............................[concluído]
# rm -rf /var/opt/mssql/
Mais informações envie email para cabelo@opensuse.org, e lembre-se, colaborar atrai amigos, competir atrai inimigos.
[1] Comentário enviado por wagnerfs em 07/02/2017 - 03:13h
Show de bola. Estava procurando um tutorial dessa forma didática. Ótima contribuição para a comunidades! :)
_________________________
"GNU/Linux for human beings."
ºvº "Software Livre: não é pelo dinheiro.
/( _ ) É uma questão de consciência."
^ ^
[3] Comentário enviado por chaplinux em 09/02/2017 - 13:08h
Boa Cabelo!!!! quando fará implante??? hahahahah
mais voltando a questão, ja é oficial? ou seja,... ja eh um SQL para produção? ou é para Teste ainda?
~~~~~~~~===~~~~~~~~===~~~~~~~~===~~~~~~~===
{ Papai..., o que é Software?
meu filho..., Software é a parte que você xinga...
...mais Pai! então o que é Hardware ?
meu guri..., Hardware é a parte que você chuta! ...
... hhha tá.. }
Para isso, foi necessário instalar free-TDS(não é nativo no Slack), e compilar o pacote qt com suporte ao driver TDS(free-TDS). O Kate usa esse driver compilado junto ao pacote QT.
[5] Comentário enviado por erissonsilva em 09/02/2017 - 15:02h
Excelente tutorial, não tinha certeza se havia sido lançado a versão estável. Acabei de testar na minha estação Fedora 25 utilizando os repositórios do RHEL. Funciona perfeitamente!!
Um forte abraço!
[8] Comentário enviado por chaplinux em 17/02/2017 - 15:21h
Essa versao eh FULL?? da de fazer replicação de banco com ela?
~~~~~~~~===~~~~~~~~===~~~~~~~~===~~~~~~~===
{ Papai..., o que é Software?
meu filho..., Software é a parte que você xinga...
...mais Pai! então o que é Hardware ?
meu guri..., Hardware é a parte que você chuta! ...
... hhha tá.. }