Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


SQL Server no Linux é possível?

Enviado por Mauro Pichiliani (pichilianiΘgmail·com):

“Este artigo apresenta um estudo que tenta responder a esta pergunta através de algumas idéias (como o uso do SQL Server no WINE), discutir conceitos e mostrar até onde pode-se trabalhar utilizando estes dois produtos em conjunto: o SQL Server e o Linux. Também são apresentadas algumas idéias e ferramentas que podem auxilizar quem deseja desenvolver para diferentes bancos de dados independente da plataforma (programação multi-banco).” [referência: imasters.uol.com.br]

• Publicado por Augusto Campos em 2010-02-09

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Ricardo (usuário não registrado) em 9/02/2010 às 9:01 am

    Pra quê? SQL Server é Windows. Aí dá um bug o cara não sabe se é um bug do SQL Server ou se é problema com o Wine.

    Hell (usuário não registrado) em 9/02/2010 às 9:05 am

    @Offtopic

    Interessante com tantos bancos de dados decente como Oracle, Postgres, Mysql e Hsql, o infeliz vai querer usar justamente o Sql Server, nada contra sei que o Sql Server tem coisas interessantes como gerar todo banco de dados via gráficos, entretanto os problemas que o mesmo causa não compensa o preço, eu me lembro na faculdade muita gente querendo usar o Sql Server enquanto observava eu coisas incríveis feitas com Postgres e Oracle, principalmente com o Oracle que um camarada fez um framework de geração XML usando o Oracle e a área de visão utilizando somente flex, acreditem o projeto de um sistema web era somente Oracle (sendo o servidor e banco de dados) e Flex (somente visão do cliente), nada de Java, nem PHP e nem ASP.net.

    Enquanto que para sites que tem poucas requisições tem gente que opta em SQL Server que é lento e problemático ao invés de usar o MySql que foi feito justamente para Web.

    Agora vem o pior querer usar qualquer banco de dados que não seja Sql Server para aplicações corporativas Windows, se o camarada tem uma estação ou mesmo rede Windows (rede esta corporativa) então o melhor é usar o SQL Server pois será bem menos trabalhoso que usar Postgres ou mesmo outro banco como Oracle.

    Eu da Silva (usuário não registrado) em 9/02/2010 às 9:21 am

    Por que? Oh, meu Deus, por que? O que leva uma criatura desperdiçadora de oxigênio a cometer uma coisa dessas? Se tem uma coisa que não há a menor carência no Linux são SGBD descentes. E quem precisa e tem grana pra queimar num SQL Server já compra o Windows também. Só falta aparecer uma distribuição Linux “própria pra rodar SQL Server no Wine”.

    >>> O que leva uma criatura desperdiçadora de oxigênio a
    >>> cometer uma coisa dessas?

    Basta ler a matéria no link de referência Jovem Padawan

    Citando o LINK DE REFERÊNCIA:
    “Podemos imaginar um cenário onde uma empresa adquire um software do tipo ERP que pode ser executado em diversas plataformas, porém requer obrigatoriamente o SQL Server…”

    Sei que o Linux possui SGBD’s fantásticos portados para ele, mas, o cenário é ESTE o descrito no LINK..

    >>> Pra quê?

    Link de referência…

    Vidente Digital (usuário não registrado) em 9/02/2010 às 9:48 am

    Por que o infeliz [x3] não usa um bancos de dados “nativo” do Linux? E o problema não é só banco de dados não. O pessoal tem mania de querer tentar pendurar tudo via Wine! Como se o Wine fosse a salvação da lavoura.

    Agora, voltando ao assunto: Quer um banco de dados decente e gratuito? Use PostgreSQL. O nosso “Oracle sem penas”. Tão bom (ou melhor) que um Oracle, mas sem as frescuras e, acima de tudo, livre e de código aberto.

    E concordo com o @Eu da Silva. Se o cara tem dinheiro para comprar um SQL Server, o Windows é troco. E por isso, vai usar esse banco de dados de forma nativa, com o sistema operacional que foi feito para ele. Ou vai me dizer que ele usa software pirata (no caso, uma cópia não-autorizada do SQL Server)? Se esse for o caso, só lembrando, que pirataria é crime!

    Júlio Neto (usuário não registrado) em 9/02/2010 às 9:49 am

    Não vi nada tão absurdo assim, penso que para um ambiente de desenvolvimento é uma opção totalmente válida, imagine se um cliente exige o uso do SQL Server, mas você não quer instalar o Windows pra isso. Lembrando que o SQL Server possui uma versão gratuita, limitada, é verdade, mas que para desenvolvimento é mais que suficiente.

    E quais os problemas do SQL Server? Não é provocação, eu realmente gostaria de saber, nunca trabalhei com SQL Server num ambiente grande, mas conheço muita gente que usa e nunca ouvi reclamações.

    Vidente Digital (usuário não registrado) em 9/02/2010 às 9:50 am

    Não adianta defender @Ironmaniaco :-D

    Se não notou, a maioria aqui não concorda com o “cenário” descrito.

    Ozzy (usuário não registrado) em 9/02/2010 às 9:54 am

    Além de tudo o que já foi dito pelos colegas acima, existe um fator determinante que é o suporte. Uma empresa que leve o seu banco de dados a sério em algum momento precisará de suporte para este banco e a “mãe” do sql server não vai dar suporte se ele estiver rodando fora do (pseudo) sistema operacional para o qual foi feito.

    O.O.

    O fato de você não usar não quer dizer que ninguém nunca irá precisar usar.

    Vidente Digital (usuário não registrado) em 9/02/2010 às 10:06 am

    @Julio Neto

    Se é uma empresa séria, e precisa dar suporte a um cliente que exige o SQL Server, ela nunca, em sã consciência, vai instalar ele num Linux via Wine.

    Lembre-se que ambientes sérios e competentes, destinados a atender seus usuários precisam ser estáveis, ou melhor, precisam ser ambientes de produção.

    E como o próprio @Ozzy lembrou, sistemas sérios (e sendo redundante: em produção) precisam de suporte nativo, para você ter a base segura para oferecer o “seu” suporte (i. é: a sua parte do suporte) para seu cliente. E não vai ser em Linux que a Microsoft vai lhe dar a sua parte de suporte para o SQL Server.

    Além de “rir na sua cara”, eles ainda vão comprovar para você, por “A + B”, que o que você está tentando montar não vai poder nem mesmo ser considerado um “sistema de desenvolvimento” (quanto mais um “ambiente de produção”). E eles irão rotular essa “gambiarra”, com toda a certeza e garantia, como um “sistema altamente instável”.

    >>> Se não notou, a maioria aqui não concorda com o
    >>> “cenário” descrito.

    Nem eu mesmo concordo com o cenário. Só acho que perguntas “porque um lunático faria isso?” já estão respondidas pra quem sabe ler… ¬¬
    Basta discordar, e não ficar fazendo “draminha”. É bizarro rodar um SGBD desta forma, sem contar que não deve ser nada performático..mas..é só discordar.

    Sem contar que o que o @Solon disse. Aposto que não concordarão com o suporte a SQL em cima do WINE, pois a maioria das empresas especifíca até o SO(Win2003 server R2, por exemplo)

    self_liar (usuário não registrado) em 9/02/2010 às 10:32 am

    Isso é loucura. Tá parecendo o que o projeto mono quer fazer : trazer todos os software .net mesmo tendo softwares livres muito bons e nativos.

    Não gosto da ideia de usar Wine. Quando eu preciso desenvolver para a plataforma da Microsoft o que tenho feito é usar uma maquina virtual com o Windows e tudo que necessito instalado. É melhor que usar o Wine porque eu não tenho que me preocupara com os problemas decorrentes da reimplementação do ambiente e é mais agradável e pratico para mim que ter o Windows instalado diretamente em uma outra maquina ou partição.

    Trx64 (usuário não registrado) em 9/02/2010 às 10:39 am

    O único ponto interessante é para desenvolvedores que precisem fazer projetos que usem o SQL Server, agora podendo fazer pelo Wine mesmo (desde que funcione bem).

    Agora, para ambiente de produção seria loucura, pedir para perder o emprego. Se vai usar SQL Server, vá de Windows. O Wine pode mudar a compatibilidade toda de versão em versão, ferrando tudo. Além do fato que o procedimento descrito é uma gambiarra só, nada profissional.

    Em resumo: se vai de MySQL, Oracle ou Postgres, vá de Linux. Se vai de SQL Server (que é ruim demais), vá de Windows.

    João (usuário não registrado) em 9/02/2010 às 10:49 am

    SQL Server não é ruim demais, não. Por sinal, é um produto muito bom. É rápido e eficiente, tem suporte a replicação, ferramentas muito boas de gerenciamento e manutenção. A única coisa que, para mim, estraga o SQL Server, é o T-SQL, que é uma grande porcaria.

    Willian (usuário não registrado) em 9/02/2010 às 10:57 am

    Why brother? :)

    habeas_corpse (usuário não registrado) em 9/02/2010 às 12:16 pm

    Isso não existe, se algum dia precisar de suporte devido algum erro eles vão mandar vc pra …. e eles tem razão. então por que num coloca o windows mesmo? como que o pessoal vai dar suporte se vc estah usando um software para “emular” (não é bem isso) o windows baseado em engenharia reversa onde todo mundo sabe que não funciona 100%.

    habeas_corpse (usuário não registrado) em 9/02/2010 às 12:17 pm

    e nem precisa ser em uma empresa tão séria assim, pra saber que isso não é válido, somente se for pra brincar…

    ejedelmal (usuário não registrado) em 9/02/2010 às 1:06 pm

    Apesar de o Wine ter melhorado drasticamemte de uns tempos pra cá, é meio arriscado liberar um servidor de produção com o banco de dados rodando sob o Wine muito arriscado.

    No caso do SQL Server, é possível utilizar o Sybase que é compatível e possui versão para diversos Unices, talvez tenha para Linux.

    Alexandre Cunha (usuário não registrado) em 9/02/2010 às 1:08 pm

    Penso que este tipo de tentativa é apenas interessante numa perspectiva académica e “hackeristica”.

    E nessa perspectiva, tudo é válido para experimentar e aprender.

    Eu mesmo há uns 4 anos tentei a abordagem usando wine. Na altura concluí da impossibilidade (ou muita dificuldade) em executar serviços windows no wine. Devido ao desinteresse prático não mais voltei a tentar.

    Conan (usuário não registrado) em 9/02/2010 às 1:18 pm

    @ejedelmal,

    Sybase e sqlserver são compatíveis somente em versões muito antigas.
    Hoje em dia são produtos distintos que compartilham algumas características.

    devnull (usuário não registrado) em 9/02/2010 às 2:20 pm

    O cara dizer que TEM QUE usar desse jeito é asneira – se precisa usar um produto que é apenas para windows, então rode no windows logo. Esse é o tipo de cenário que, quando tiver problemas, a culpa toda vai recair no lado do linux.

    Mais engraçado é o sub-título da matéria: “SQL Server + Banco de Dados + Software Livre”… Então o SQL Server não é bd? Que ato falho xD

    Welington (usuário não registrado) em 9/02/2010 às 3:59 pm

    Duas máximas que eu aprendi nestes meus poucos anos trabalhando com TI:
    1 – O Impossível hoje será trivial amanhã
    2 – O que é inútil hoje será essencial amanhã

    Exemplos existem aos montes por ai, é só parar para pensar.

    Então meus parabéns ao camarada que conseguiu fazer algo tão “inútil” quanto rodar o SQL server no Wine. Amanhã eu poderei estar desesperado atrás de informações sobre como fazer isso e, graças a ele, felizmente já sei que vou encontrar.

    Leonardo (usuário não registrado) em 9/02/2010 às 6:46 pm

    Deixa o cara rodar o que ele quiser, onde ele quiser!!!

    Ele provavelmente aprendeu um monte de coisas com esse procedimento e vocês estão apenas perdendo tempo enchendo o saco do cara.

    Aí parceiro, se você quiser rodar um software de uma máquina de coca-cola, numa torradeira, vai fundo! Depois conta que diabos aconteceu =)

    Heaven (usuário não registrado) em 9/02/2010 às 8:30 pm

    @Ironmaniaco

    Neste caso se cliente tem o Sql Server, então obviamente deve ter o Windows Server, não adianta dar murro em ponta de faca, Sql Server só é bom no mundo Windows, se o ERP é multiplataforma e requer SQL Server então não é multiplataforma.

    Uma alternativa melhor seria deixar o Sql Server em um servidor windows e o seu ip privativo é acessado pelo ERP que esta numa máquina (ou mesmo VM) com um Unix-like qualquer, fazer isso é bem melhor e bem mais seguro que tentar usar o wine com Sql Server que com toda certeza é uma dor de cabeça horrível e é dar murro em ponta de faca.

    @Júlio Neto

    Na realidade o Sql Server rodando no Windows com a tecnologia propriamente Microsoft (nada de Java, Python, php, ou qualquer outra coisa que não rode nas tecnologias Microsoft) é uma maravilha, fazer algo usando .net e Sql Server é um sonho de doçura, a dor de cabeça começa quando tenta usar o Sql Server fora de seu mundinho microsoftiano, a integração com Java é um parto, tem hora que funciona e tem hora que falha, só nisso já é perdido cerca de 1 semana só para fazer funcionar, depois a questão dos relatórios que integrando usando outras coisas que não seja da microsoft ao Sql Server vai dar dor de cabeça.

    @Trx64

    Fazendo isso você não estaria fazendo algo para por em produção e as possibilidades de falhas são grandes, digo isso por experiência própria, quando trabalho com Java usando Ubuntu algumas peculiaridades impedem de funcionarem bem no Windows e vice e versa. Assim se esta fazendo algo para o ambiente de produção, então o ambiente de desenvolvimento e o ambiente de testes deve ser semelhante ao ambiente de produção para evitar possíveis atrasos.

    @Welington

    Pena que no mundo Windows essa regra perde a validade. Já tentei olhar por esse ponto de vista no mundo Windows, mas isso nunca aconteceu, a prova disso se chama IE6.

    foobob (usuário não registrado) em 9/02/2010 às 10:10 pm

    pra completar a diversão, poderia rodar aplicativos .NET ligados ao SQL Server no mono também… ;)

    O resumo da notícia poderia ser um simples “não” :-)

    Mas, na necessidade vale tudo. O Wine funciona como um quebra galho. Caso alguém precise e consiga rodar o SQL Server no Linux, acredito que o ideal seria que o software original que precise dele (no caso, um ERP) seja modificado para suportar um outro SGBD o quanto antes, seja por iniciativa própria, no caso de um SL ou por encomenda, no caso de um produto proprietário. Ou algo do tipo.

    Lucas Timm (usuário não registrado) em 10/02/2010 às 12:36 am

    Já até comentei isso aqui. O MS SQL Server é um excelente banco de dados, e peca muito ao não ter uma versão pra Linux. Cadê a Novell numas dessas… :

    João (usuário não registrado) em 10/02/2010 às 7:40 am

    @Lucas Timm,
    Não faria sentido para a Microsoft um port do SQL Server para o Linux. O produto tem uma fortíssima integração com o SO, o que, aliás, é uma vantagem dele. Acho praticamente impossível que eles tenham se preocupado com a portabilidade do código, e não tiro a razão deles. Afinal, quem pensa “SQL Server” pensa em plataforma Windows e pronto.

    Lucas Timm (usuário não registrado) em 10/02/2010 às 10:53 am

    @ João

    Pois é, os recursos do SQL Server são bons demais pro Windows, no meu ponto de vista.

Este post é antigo (2010-02-09) e foi arquivado. O envio de novos comentários a este post já expirou.