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
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.
@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.
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…
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!
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.
Não adianta defender @Ironmaniaco :-D
Se não notou, a maioria aqui não concorda com o “cenário” descrito.
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.
@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)
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.
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.
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.
Why brother? :)
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%.
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…
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.
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.
@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.
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
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.
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 =)
@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.
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.
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… :
@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.
@ João
Pois é, os recursos do SQL Server são bons demais pro Windows, no meu ponto de vista.