Quali sono i motivi per utilizzare ancora SQL Server 2000?


10

Dalle domande su StackOverflow e altrove, noto che ci sono ancora persone che usano SQL Server 2000. Ad essere sinceri, l'effetto più grande su di me è che devo ricordare come eravamo abituati a fare le cose senza comuni espressioni da tavolo.

Tuttavia, vorrei sapere se ci sono ragioni reali (oltre a "non è rotto") per utilizzare ancora SQL Server 2000. Ad esempio, so che ci sono persone che devono usare .NET 1.1 perché devono supportare Sistemi Windows 2000. Esistono ragioni pratiche simili per non aggiornare un sistema SQL Server 2000 a SQL Server 2008 o 2005?


Sono totalmente sconcertato da un voto negativo. Volevo capire le ragioni. Ho delle ottime risposte. Se c'è un problema con la domanda, per favore non dare per scontato che io sappia qual è il problema - dimmelo! Di solito non mordo su Internet.
John Saunders,

penso che il problema fondamentale con la domanda sia che, dando le ragioni per non aggiornare continuamente il software, i tuoi amministratori di sistema sono senza lavoro! ciao signore!
Nick Kavadias,

Risposte:


14

La mente degli affari è di solito molto diversa dalla tua. Perché usare qualcosa di più nuovo se non genererà più entrate, ma solo spese (migrazione, riqualificazione, ecc.)?


1
Vero, e tutto ciò che non possono effettivamente misurare è un problema. Come si misura il fatto che i nuovi sviluppatori preferiscono non lavorare su software di otto anni; che esempi sempre più non funzionano su SQL Server 2000 e che la mancanza di funzionalità ostacola lo sviluppo per soddisfare i nuovi requisiti?
John Saunders,

1
È così. Sfortunatamente, molti negozi preferiscono mentire sulla tecnologia che usano per catturare i pesci per lavorare per loro.
Mastermind,

1
Nelle aziende in cui l'IT fa capo a un direttore delle finanze (o anche alle risorse umane!), Ascoltare e comprendere il caso è la parte più difficile. Parlando di recente con un CEO, ha affermato che il suo problema era che molti sviluppatori vogliono solo nuovi giocattoli e non riescono a spiegare il business case se ce n'è davvero uno. Il senior management non si fida completamente del proprio IT.
Dan,

2
@ Dan, dobbiamo davvero ammettere che vogliamo nuovi giocattoli. :) Ma c'è un vero motivo dietro: vogliamo tenere il passo con la tecnologia per mantenere o aumentare il nostro valore sul mercato del lavoro. Questo è comunque un caso per il tuo attuale CEO.
Mastermind,

@Mastermind - Sono sicuro che puoi capire perché queste sono cattive ragioni per un'azienda che altrimenti sarebbe contenta della sua attuale piattaforma di investire in un aggiornamento.
Rob Moir,

8

La migliore ragione che mi viene in mente è una variazione di "non è rotta" che si presenta così: hai un'applicazione aziendale che funziona con SQL 2000 ma genera errori con SQL 2005. Potrebbe non essere la giusta priorità aziendale per la tua organizzazione in questo momento per aprire il cofano su quell'applicazione (che non è rotto) e farlo funzionare con un database più recente.


Grazie, ma che tipo di errori? Non sono stato in grado di pensare a qualcosa che avrebbe funzionato nel 2000 ma non nel 2005.
John Saunders,

6
Vedi serverfault.com/questions/30499/sql2005-vs-sql2008/30512#30512 per un problema riscontrato quando abbiamo spostato per la prima volta una delle nostre app da SQL2000 a SQL2005. Non dovresti mai aggiornare ciecamente un componente di sistema senza prima testare accuratamente le app sulla nuova versione (o convincere i tuoi fornitori a dire, su supporto cartaceo e firmato, di aver effettuato tali test).
David Spillett,

4

Supporto legacy

SQL Server 2005 non è completamente retrocompatibile con SQL Server 2000. Analysis Services presenta importanti incompatibilità. Il passaggio a SQL Server 2005 ha un costo diverso da zero per i test di regressione e il porting. Molte organizzazioni non hanno l'obbligo di spostarsi, quindi non si sposteranno finché non dovranno farlo.

La maggior parte dei fornitori di DBMS (MS incluso) supporterà una versione di un DBMS per circa 10 anni, che è più lunga della maggior parte degli altri tipi di software. Se incroci i loro palmi con argento (in quantità sufficiente), essi stipuleranno anche contratti specifici per estendere il supporto su una versione specifica più lunga di quella.

Altri motivi per restare fedeli alle versioni precedenti sono in realtà determinati da circostanze specifiche come evitare una versione non riuscita nota (ad esempio MySQL 5.1 o pre-SP3 SQL2000) o problemi di certificazione o compatibilità.

Gestione di un database di produzione di SQL Server 2000

Per un sistema operativo che funziona e si trova in una fase matura del suo ciclo di vita senza che si verifichino molti cambiamenti importanti, probabilmente non vi sono motivi validi per eseguire l'aggiornamento prima che il DBMS esca dal supporto mainstream. Tuttavia, devi pianificare un percorso di aggiornamento ordinato per quella eventualità. Oracle è abbastanza rinomato per le persone che mantengono i sistemi di produzione su versioni antiche.

SQL Server 2000 si sta avvicinando alla fine del suo ciclo di vita, quindi non vorrai fare nuovi lavori di sviluppo su di esso. Tuttavia, un'applicazione di produzione deve essere gestita con un piano per spostarsi quando è necessario. Probabilmente avrai una riscrittura a portata di mano se la tua app è scritta in VB6 o ASP classico - ma questo è un problema diverso; -}.

La contro-cassa

Se avessi un progetto greenfield, in genere consiglierei l'ultima versione della piattaforma DBMS semplicemente perché offre la finestra più lunga di supporto del fornitore. Nessuno dovrebbe ancora avere SQL Server 2000 come standard aziendale per i nuovi progetti: l'EOL è troppo vicino. Per un nuovo progetto, questo è di gran lunga l'argomento più forte per passare a una versione più recente. Le discussioni sul risparmio di denaro non trattengono l'acqua; l'app comporterà costi di porting non necessari entro un paio d'anni se inizi su SQL2000 ora.

Il punto chiave per il lavoro greenfield è che una selezione eccessivamente conservativa riduce la durata dell'applicazione prima che sia richiesto un aggiornamento. Si vorrebbe normalmente un motivo specifico per non scegliere la versione corrente di una piattaforma DBMS.


3

Non eseguiamo l'upgrade perché disponiamo di un software finanziario che si basa su di esso e il fornitore sta solo pensando di supportare questo nuovo "SQL 2005" di cui hanno sentito di recente il blog dei bambini pazzi.

Francamente, fa male a me di avere una miscela di roba da supporto, ma non così tanto quanto lo sarebbe male tutti in azienda di avere un problema con il sistema di finanza pop-up, e quindi di avere il punto di software di finanza fornitore a noi e ridere quando abbiamo chiesto aiuto e menzionato che i problemi sono iniziati da quando abbiamo eseguito l'aggiornamento a SQL 2005 prima che lo ratificassero.

C'è anche molto da dire per non aggiustare le cose se non sono effettivamente rotte. Voglio aggiornare tutti i miei server SQL al 2008 qualche volta ... Davvero. Ma ci sono molte più cose che potrei fare che in realtà migliorano i profitti dell'azienda in modi comprensibili e quantificabili per i miei manager e gli utenti ... beh, questo verrà sempre per primo.

Citi gli sviluppatori che non amano lavorare con SQL 2000 nella tua risposta alla risposta di Mastermind. Sospetto che un metodo di gestione sarebbe quello che i miei capi userebbero su di me se decidessi che "non mi piace" supportare SQL 2000: "Grazie per il tuo tempo di lavoro qui, la porta è alla tua sinistra". Alla fine della giornata siamo tutti pagati per far funzionare le cose, che ci piaccia o no.


3

Nel nostro caso, è meno un caso di "perché continuare a usare 2000" di quanto non sia un "costo di aggiornamento QUANTO?". La maggior parte delle nostre app non utilizza nulla che richieda funzionalità specifiche per il 2005, quindi non c'è motivo convincente e probabilmente non lo sarà fino a quando Microsoft non cesserà di supportarlo.


Puoi beneficiare di un aggiornamento (a SQL 2008) anche se le app non usano il codice specifico di SQL 2005, e questo è solo attivando la compressione dei dati (vedi il mio post precedente). E puoi ridurre i blocchi in caso di carico pesante attivando il "versioning delle file". Un'altra cosa a cui pensare è quando acquisti o costruisci un'altra app che utilizza il codice specifico di SQL 2005/2008, vuoi supportare due ambienti diversi? E il mio ultimo argomento in questo commento, puoi ricostruire i tuoi indici online, senza la necessità di una finestra di servizio. Questo avrà effetto immediatamente. / Håkan Winther
Hakan Winther,

3

Costo.

Il software più recente è ancora software aggiuntivo, che costa denaro aggiuntivo.

Questa potrebbe essere, e spesso è, una falsa economia a causa dei molti lati negativi dell'utilizzo di sistemi obsoleti, ma è l'unica vera ragione che ha senso.


Peggio ancora, Microsoft non sembra avere prezzi di aggiornamento per SQL Server, quindi ogni nuova edizione è a costo pieno anche per i clienti esistenti. Qualcuno per favore mi dica che mi sbaglio? :-(
Chris W. Rea,

Non ti sbagli, a meno che non hai acquistato Software Assurance con l'acquisto iniziale.
SqlACID,

3

La nuova licenza per SQL Server 2008 (standard) costa poco meno di $ 2.000 per 1 server con 5 CAL o $ 6.000 per 1 licenza CPU. Sento il mio vecchio capo che dice "non è rotto, ma costerà quanto aggiornare quei 2 server?" (a quel tempo 2 x CPU doppie che richiedono licenze CPU).

Dopo aver usato SQL2000 per sette anni, la mia prima esperienza del 2005 è stata in un ambiente VMWare ESX. Le prestazioni sono aumentate (l'ISP stava fornendo l'esperienza di VMWare e quando abbiamo iniziato i test di carico abbiamo scoperto che stavano avendo gravi problemi non solo con il nostro server ma influivano sulla nostra esperienza) e combinato con tutto ciò che veniva spostato / rinominato (il vecchio direttore aziendale era talmente molto più veloce) - siamo stati più felici di posticipare l'aggiornamento. Quindi stavamo aspettando il rilascio del 2008, quindi stiamo solo aggiornando al 2008 (o migrando alcuni dati su MySQL / PostgresSQL).

Microsoft continuava a fornire supporto mainstream per il 2000 fino a qualche anno fa, quindi solo di recente abbiamo avuto un motivo più convincente per l'aggiornamento.

Anche le piccole aziende hanno un problema di risorse: apprendere, pianificare, testare l'aggiornamento richiede tempo e impatti su altre operazioni. Se devi aggiornare qualche altra applicazione che si trova contemporaneamente su SQL Server, anche questo può diventare molto costoso.

Per un po 'abbiamo flirtato con il passaggio all'open-source, e mentre quella era una possibilità, ha bloccato anche qualsiasi aggiornamento.


2

Perché non eseguire l'aggiornamento a SQL Server 2008, quindi è possibile ridurre i costi grazie alla compressione dei dati, alla manutenzione più semplice e alle prestazioni migliorate (indici filtrati)? Recentemente abbiamo aggiornato un'installazione di SQL Server 2000 e risparmiato il 75% di spazio su disco e le prestazioni sono aumentate notevolmente.

Un altro miglioramento è stato la concorrenza dovuta al nuovo meccanismo di blocco introdotto in SQL Server 2005.

/ Håkan Winther


2

Le grandi organizzazioni sono avverse al rischio e ignoranti, il che porta ad alcune decisioni davvero stupide. Quando stavo facendo cose su Unix intorno al 2003/2004, eravamo bloccati in un ambiente Solaris 2.5.1 che era stato rilasciato quando ero in decima classe o giù di lì perché era una tecnologia "comprovata" ed era "troppo costoso" per l'aggiornamento.

Troppo costoso è spesso PHB-parlare per "Ero stupido a budget per un aggiornamento di $ 1000 in un progetto da $ 10 milioni".

Nel caso del software stack Microsoft, le persone sono spesso avverse all'aggiornamento perché non volevano gestire il troll di licenze all'interno dell'azienda e hanno acquistato una licenza OEM da Dell / IBM / ecc. E non hanno voglia di occuparsi del cerchi burocratici coinvolti nell'aggiornamento.


2

Non compro (intenzionalmente il gioco di parole) l'argomento "costo iniziale", ma sfortunatamente il costo iniziale è qualcosa su cui molti PHB sono ossessionati, quindi è valido lasciarlo in piedi.

Per me l'unico motivo convincente sarebbero le app che lo utilizzano. Se sei una casa di SharePoint 2003, ad esempio, NON c'è MODO che eseguirai l'upgrade a SQL 2005 o 2008 senza intraprendere anche un aggiornamento di SharePoint, il che non è cosa da poco.


2

Nella nostra organizzazione, tutto il nuovo sviluppo dovrebbe essere su SQL 2005/2008, ma abbiamo così tante app 2000 legacy, non vale la pena il tempo / energia / denaro per convertirle tutte.

Oltre ai problemi di compatibilità (DTS a SSIS è il più grande per noi), abbiamo anche implementato una serie di linee guida / restrizioni di sicurezza su SQL 2005 che non avevamo applicato per SQL 2000. (nessun utente dbo, solo autorizzazioni dello schema, eccetera.)


1

Nella nostra organizzazione, ci sono diverse ragioni. Alcuni sono piuttosto specifici per il nostro caso, altri un po 'più generici.

1) Incompatibilità. Abbiamo riscontrato alcuni casi in cui il software scritto internamente per SQL2005 presenta problemi durante l'installazione su SQL2000. Il caso che ho visto di recente è finito a causa della dichiarazione esplicita di parametri che non esistono nel 2000 e di una differenza nel nome della tabella dell'indice di sistema. (sys.indexes vs sysindexes)

2) Formazione. I nostri sviluppatori conoscono sicuramente il 2005 e preferirebbero svilupparlo o già nel 2008. Tuttavia, il compito di mantenere tutto operativo ricade sul NOC, non sugli sviluppatori. Nessuno nel nostro NOC ha avuto una formazione SQL formale e le differenze tra i due, solo dal punto di vista degli strumenti di amministrazione, sono sufficienti per tenerne conto.

3) Costo per l'aggiornamento dei prodotti esistenti. Per noi, questo è grande. Non sto parlando del costo della licenza di Microsoft qui. Nella nostra attività, un aggiornamento su uno qualsiasi dei nostri prodotti esistenti (anche se non abbiamo aggiornato retroattivamente tutto ciò che è già sul campo) richiederebbe un lungo e costoso processo di ricertificazione attraverso diversi laboratori di prova normativi e di certificazione. Stiamo costruendo nuovi prodotti su SQL2005, ma non stiamo aggiornando quelli più vecchi per questo motivo.

Il processo di certificazione significa anche che finiremmo con una combinazione di nuove build, in cui alcune giurisdizioni otterrebbero SQL2000 e altre otterrebbero SQL2005, in base al fatto se le approvazioni fossero state ancora ricevute o meno. Preferiamo, per la ragione n. 2, mantenere il nostro ambiente di produzione il più coerente possibile.

4) Differenze generali. Questa è davvero un'estensione del numero 1. Ci sono molte piccole cose che sono cambiate, alcune delle quali ci causano mal di testa. Esempio, SQL2005 su Server2003 imporrà criteri password di Windows su account sql. Non è una cosa negativa da sola, ma rompe quasi tutto il nostro software (e molti di terze parti) a causa del modo in cui interagiamo con il database.

Insomma, inerzia.



1

So che ci sono persone che devono usare .NET 1.1 perché devono supportare i sistemi Windows 2000.

Seguendo questa logica, un motivo pratico per eseguire MSSQL 2000 è perché puoi supportare i sistemi Windows NT 4!

Che ci crediate o no, ma SQL Server 2005 in realtà funziona su Windows Server 2000.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.