A mentalidade empresarial é geralmente muito diferente da sua. Por que usar algo mais novo se não gerar mais receita, mas apenas despesas (migração, reciclagem etc.)?
A partir das perguntas no StackOverflow e em outros lugares, percebo que ainda existem pessoas usando o SQL Server 2000. Para ser honesto, o maior efeito em mim é que preciso lembrar como costumávamos fazer as coisas sem as Expressões da Tabela Comum. / p> Ainda assim, gostaria de saber se existem razões reais (além de "não estar corrompido") para continuar usando o SQL Server 2000. Por exemplo, sei que há pessoas que precisam usar o .NET 1.1 porque tem que suportar sistemas Windows 2000. Existem razões práticas semelhantes para não atualizar um sistema SQL Server 2000 para o SQL Server 2008 ou 2005?
O melhor motivo que posso imaginar é uma variação de "não está quebrado" que é assim: Você tem um aplicativo de negócios que funciona com o SQL 2000, mas gera erros com o SQL 2005. Pode não ser a prioridade de negócios correta para a sua organização, neste momento, abrir o capô desse aplicativo (que não está quebrado) e fazê-lo funcionar com um banco de dados mais novo.
Suporte legado
O SQL Server 2005 não é totalmente compatível com o SQL Server 2000. O Analysis Services tem incompatibilidades importantes. A mudança para o SQL Server 2005 tem um custo diferente de zero do teste de regressão e da portabilidade. Muitas organizações não precisam se movimentar, por isso não vão se mover até precisarem.
A maioria dos fornecedores de DBMS (inclusive MS) suportará uma versão de um DBMS por 10 anos ou mais - o que é mais do que a maioria dos outros tipos de software. Se você cruzar as palmas das mãos com prata (em quantidade suficiente), eles também entrarão em contratos específicos para estender o suporte em uma versão específica mais longa que essa.
Outros motivos para manter as versões mais antigas são, na verdade, direcionadas por circunstâncias específicas, como evitar uma versão com falha (por exemplo, MySQL 5.1 ou SQL2000 pré-SP3) ou problemas de certificação ou compatibilidade.
Mantendo um banco de dados de produção do SQL Server 2000
Para um sistema operacional que funciona e está em uma fase madura de seu ciclo de vida sem muitas mudanças importantes acontecendo, provavelmente não há razão convincente para atualizar antes que o DBMS saia do suporte principal. No entanto, você deve planejar um caminho de atualização ordenada para essa eventualidade. A Oracle é bastante conhecida por pessoas que mantêm sistemas de produção em versões antigas.
O SQL Server 2000 está chegando perto do fim de sua vida útil, então você não gostaria de estar fazendo um novo trabalho de desenvolvimento. No entanto, um aplicativo de produção deve ser mantido com um plano para sair quando você precisar. Você provavelmente terá uma reescrita em suas mãos se seu aplicativo estiver escrito em VB6 ou ASP clássico - mas isso é um problema diferente; -}.
A contracapa
Se eu tivesse um projeto totalmente novo, eu recomendaria a versão mais recente da plataforma DBMS, simplesmente porque ela oferece a janela mais longa de suporte a fornecedores. Ninguém deve ainda ter o SQL Server 2000 como um padrão corporativo para novos projetos - o EOL é muito próximo. Para um novo projeto, este é de longe o argumento mais strong para se mudar para uma versão mais nova. Argumentos sobre poupar dinheiro não retêm água; o aplicativo incorrerá em custos desnecessários de portabilidade dentro de alguns anos se você iniciar o SQL2000 agora.
O ponto-chave para o trabalho de campo é que uma seleção excessivamente conservadora encurta a vida útil do aplicativo antes que uma atualização seja necessária. Normalmente, seria necessário um motivo específico para não ir para a versão atual de uma plataforma DBMS.
Nós não atualizamos porque temos um software financeiro que depende dele, e o fornecedor está apenas pensando em dar suporte a esse novo "SQL 2005" sobre o qual eles têm ouvido ultimamente o blog de crianças loucas.
Francamente, dói mim ter uma mistura de coisas para apoiar, mas não tanto quanto prejudicaria todos na empresa para ter um problema com o o sistema financeiro aparece, e depois o fornecedor de software financeiro aponta para nós e ri quando pedimos ajuda e mencionou que os problemas começaram desde que atualizamos para o SQL 2005 antes de eles ratificá-lo.
Também há muito a ser dito por não consertar as coisas se elas não estiverem realmente quebradas. Eu quero atualizar todos os meus servidores SQL para 2008 em algum momento ... Eu realmente faço. Mas há muito mais coisas que eu poderia fazer que realmente melhora a linha inferior do negócio de maneiras que são compreensíveis e quantificáveis para meus gerentes e usuários ... bem, isso sempre virá primeiro.
Você menciona que os desenvolvedores não gostam de trabalhar com o SQL 2000 em sua resposta à resposta da Mastermind. Eu suspeito que um método de lidar com isso seria o que meus chefes usariam em mim se eu decidisse que "não gostei" de suportar o SQL 2000: "Obrigado pelo seu tempo trabalhando aqui, porta à sua esquerda". No final do dia, todos nós estamos sendo pagos para fazer as coisas funcionarem, gostemos ou não.
No nosso caso, é menos um caso de 'por que continuar usando o 2000' do que um caso de 'a atualização custa QUANTO?'. A maioria dos nossos aplicativos não usa nada que precise de nenhum recurso específico para 2005, portanto não há nenhuma razão convincente e provavelmente não será até que a Microsoft deixe de oferecer suporte a ela.
Custo.
O software mais recente ainda é um software adicional, que custa dinheiro adicional.
Isso pode ser, e geralmente é, uma economia falsa devido aos muitos aspectos negativos do uso de sistemas desatualizados, mas é a única razão real que faz sentido.
A nova licença do SQL Server 2008 (padrão) custa um pouco menos de US $ 2.000 para 1 servidor com 5 CALs ou US $ 6.000 para 1 licença de CPU. Eu posso ouvir o meu antigo chefe dizendo "não está quebrado, mas vai custar quanto para atualizar os dois servidores?" (nesse momento 2 x CPU dupla requerendo licenças de CPU).
Tendo usado o SQL2000 por sete anos, minha primeira experiência em 2005 foi em um ambiente VMWare ESX. Desempenho sugado (o ISP estava fornecendo o conhecimento da VMWare e quando começamos o teste de carga descobrimos que eles estavam tendo grandes problemas não apenas com o nosso servidor, mas impactando nossa experiência) e combinado com tudo sendo movido / renomeado (o antigo gerente da empresa estava muuuito muito mais rápido) - ficamos mais felizes em adiar a atualização. Então estávamos aguardando o lançamento de 2008, então estamos apenas atualizando para 2008 (ou migrando alguns dados para MySQL / PostgresSQL).
A Microsoft ainda estava dando suporte ao mainstream para o ano 2000 até algum tempo no ano passado, portanto, foi apenas recentemente que tivemos um motivo mais convincente para atualizar.
Pequenas empresas também têm um problema de recursos - aprender, planejar, testar a atualização leva tempo e impactos em outras operações. Se você tiver que atualizar algum outro aplicativo que fica no SQL Server ao mesmo tempo, isso pode ficar muito caro também.
Por um tempo, nós flertamos com a mudança para código-fonte aberto, e enquanto isso era uma possibilidade, ele também congelou qualquer atualização.
Por que não atualizar para o SQL Server 2008, você pode realmente reduzir seu custo devido à compactação de dados, manutenção mais fácil e melhor desempenho (índices filtrados)? Recentemente, atualizamos uma instalação do sql server 2000 e economizamos 75% do espaço em disco, e o desempenho aumentou drasticamente.
Outra melhoria foi a simultaneidade devido ao novo mecanismo de bloqueio introduzido no sql server 2005.
/ Håkan Winther
Grandes organizações são adversas ao risco e ignorantes, o que leva a algumas decisões realmente estúpidas. Quando eu estava fazendo coisas Unix por volta de 2003/2004, estávamos presos a um ambiente Solaris 2.5.1 que foi lançado quando eu estava na 10ª série ou mais porque era tecnologia "comprovada" e era "muito caro" para atualizar. / p>
Demasiado caro é, muitas vezes, falar em PHB: "Fui burro ao orçamento para um upgrade de $ 1000 num projecto de $ 10M".
No caso do software Microsoft stack, as pessoas geralmente são prejudiciais à atualização porque não querem lidar com o troll de licenciamento dentro da empresa e compram uma licença OEM da Dell / IBM / etc, e não se sentem lidar com os aros burocráticos envolvidos na atualização.
Eu não compro (trocadilho intencional) o argumento do "custo inicial", mas infelizmente o custo inicial é algo que muitos PHBs obcecam, então é válido deixá-lo de pé.
Para mim, o único motivo convincente seria os aplicativos que o usam. Se você é uma casa do SharePoint 2003, por exemplo, não há como atualizar para o SQL 2005 ou 2008 sem realizar uma atualização do SharePoint, o que não é um assunto trivial.
Em nossa organização, todo novo desenvolvimento deve estar no SQL 2005/2008, mas temos tantos aplicativos legados em 2000, mas não vale a pena o tempo / energia / dinheiro para convertê-los todos.
Além dos problemas de compatibilidade (o DTS para SSIS é o maior para nós), também implementamos um conjunto de restrições de segurança / diretrizes no SQL 2005 que não foram aplicadas no SQL 2000. (sem usuários do dbo, esquema permissões apenas, etc.)
Na nossa organização, existem vários motivos. Alguns são bastante específicos para o nosso caso, e outros são um pouco mais genéricos.
1) Incompatibilidades. Tivemos alguns casos em que o software que foi escrito internamente para o SQL2005 tem problemas ao instalar no SQL2000. O caso que vi mais recentemente acabou sendo devido a parâmetros explicitamente declarados que não existem em 2000, e uma diferença no nome da tabela de índice do sistema. (sys.indexes vs sysindexes)
2) Treinamento. Nossos desenvolvedores certamente conhecem o ano de 2005 e preferem estar desenvolvendo nele, ou em 2008, já. No entanto, a tarefa de manter tudo operacional cai para o NOC, não para os desenvolvedores. Ninguém em nosso NOC teve qualquer treinamento formal em SQL, e as diferenças entre os dois, apenas do ponto de vista da ferramenta administrativa, são suficientes para considerar isso.
3) Custo de atualização de produtos existentes. Para nós, este é um grande problema. Eu não estou falando do custo da licença da Microsoft aqui. Em nosso negócio, uma atualização em qualquer um de nossos produtos existentes (mesmo que não atualizássemos retroativamente tudo já no campo) exigiria um processo de recertificação caro e demorado por meio de vários laboratórios de testes diferentes de regulamentação e certificação. Estamos construindo novos produtos no SQL2005, mas não atualizando os mais antigos por esse motivo.
O processo de certificação também significa que acabaríamos com uma mistura em novas compilações, onde certas jurisdições estariam recebendo SQL2000 e outras recebendo SQL2005, com base em se as aprovações foram recebidas ou não. Preferimos, pela razão 2, manter nosso ambiente de produção o mais consistente possível.
4) Diferenças gerais. Esta é realmente uma extensão do # 1. Há muitas pequenas coisas que mudaram, algumas das quais nos causam dores de cabeça. Exemplo, o SQL2005 no Server2003 aplicará as políticas de senha do Windows em contas SQL. Não é uma coisa ruim por si só, mas quebra quase todos os nossos (e muitos outros) softwares por causa da maneira como interagimos com o banco de dados.
Em suma, inércia.
Um boa postagem no blog que já fez a mesma pergunta.
I know there are people who have to use .NET 1.1 because they have to support Windows 2000 systems.
Seguindo essa lógica, uma razão prática para rodar o MSSQL 2000 é porque você pode suportar sistemas Windows NT 4!
Acredite ou não, mas o SQL Server 2005 é executado no Windows Server 2000.
Tags sql-server