Was sind die Gründe, SQL Server 2000 weiterhin zu verwenden?

10

Aus den Fragen zu StackOverflow und anderswo geht hervor, dass immer noch Leute SQL Server 2000 verwenden. Um ehrlich zu sein, ist der größte Effekt für mich, dass ich mich daran erinnern muss, wie wir Dinge ohne Common Table Expressions gemacht haben.

Trotzdem möchte ich wissen, ob es tatsächlich Gründe gibt (außer "es ist nicht kaputt"), SQL Server 2000 weiterhin zu verwenden. Ich weiß zum Beispiel, dass es Leute gibt, die .NET 1.1 verwenden müssen, weil sie unterstützen müssen Windows 2000-Systeme. Gibt es ähnliche praktische Gründe, ein SQL Server 2000-System nicht auf SQL Server 2008 oder 2005 zu aktualisieren?

John Saunders
quelle
Ich bin total verblüfft über eine Ablehnung. Ich wollte die Gründe verstehen. Ich habe einige gute Antworten. Wenn es ein Problem mit der Frage gibt, gehen Sie bitte nicht davon aus, dass ich das Problem kenne - sagen Sie es mir! Normalerweise beiße ich nicht über das Internet.
John Saunders
Ich denke, das grundlegende Problem mit der Frage ist, dass Sie durch die Angabe von Gründen, die Software nicht ständig zu aktualisieren, Sysadmins aus dem Job nehmen! Boo zu Ihnen, Sir!
Nick Kavadias

Antworten:

14

Business Mind unterscheidet sich normalerweise stark von Ihrem. Warum etwas Neueres verwenden, wenn es nicht mehr Einnahmen generiert, sondern nur Ausgaben (Migration, Umschulung usw.)?

Mastermind
quelle
1
Es stimmt, und alles, was sie nicht messen können, ist ein Problem. Wie messen Sie die Tatsache, dass neue Entwickler es vorziehen, nicht an Software zu arbeiten, die acht Jahre alt ist? dass Beispiele unter SQL Server 2000 zunehmend nicht funktionieren und dass fehlende Funktionen die Entwicklung behindern, um neuen Anforderungen gerecht zu werden?
John Saunders
1
Das ist so. Leider lügen viele Geschäfte lieber über die Technologie, mit der sie den Fisch fangen, um für sie zu arbeiten.
Mastermind
1
In Unternehmen, in denen die IT berichtet, dass ein Finanzdirektor (oder sogar eine Personalabteilung!) Den Fall gehört und verstanden hat, ist es am schwierigsten. Als er kürzlich mit einem CEO sprach, sagte er, sein Problem sei, dass so viele Entwickler nur neues Spielzeug wollen und den Geschäftsfall nicht erklären können, wenn es wirklich einen gibt. Die Geschäftsleitung vertraut ihrer IT nicht voll und ganz.
Dan
2
@ Dan, wir müssen tatsächlich zugeben, dass wir neues Spielzeug wollen. :) Aber es gibt einen echten Grund dafür: Wir wollen mit der Technologie Schritt halten, um unseren Wert auf dem Arbeitsmarkt zu halten oder zu steigern. Dies ist jedoch ein Anti-Fall für Ihren derzeitigen CEO.
Mastermind
@Mastermind - Ich bin sicher, Sie können sehen, warum dies schlechte Gründe für ein Unternehmen sind, das ansonsten mit seiner aktuellen Plattform zufrieden ist, in ein Upgrade zu investieren.
Rob Moir
8

Der beste Grund, den ich mir vorstellen kann, ist eine Variante von "Es ist nicht kaputt", die so aussieht: Sie haben eine Geschäftsanwendung, die mit SQL 2000 funktioniert, aber mit SQL 2005 Fehler generiert. Dies ist möglicherweise nicht die richtige Geschäftspriorität für Ihr Unternehmen Öffnen Sie zu diesem Zeitpunkt die Haube für diese Anwendung (die nicht kaputt ist) und sorgen Sie dafür, dass sie mit einer neueren Datenbank funktioniert.

Brian Reiter
quelle
Danke, aber welche Art von Fehlern? Ich konnte mir nichts vorstellen, was im Jahr 2000 funktionieren würde, aber nicht im Jahr 2005.
John Saunders
6
Unter serverfault.com/questions/30499/sql2005-vs-sql2008/30512#30512 finden Sie ein Problem, das beim ersten Verschieben einer unserer Apps von SQL2000 auf SQL2005 festgestellt wurde. Sie sollten eine Systemkomponente niemals blind aktualisieren, ohne zuerst die Apps auf der neuen Version gründlich zu testen (oder Ihre Lieferanten dazu zu bringen, auf Papier und unterschrieben zu sagen, dass sie solche Tests durchgeführt haben).
David Spillett
4

Legacy-Unterstützung

SQL Server 2005 ist nicht vollständig abwärtskompatibel mit SQL Server 2000. Analysis Services weist erhebliche Inkompatibilitäten auf. Die Umstellung auf SQL Server 2005 verursacht durch Regressionstests und Portierungen Kosten ungleich Null. Viele Organisationen müssen nicht umziehen, daher werden sie erst umziehen, wenn sie umziehen müssen.

Die meisten DBMS-Anbieter (einschließlich MS) unterstützen eine Version eines DBMS etwa 10 Jahre lang - dies ist länger als bei den meisten anderen Softwaretypen. Wenn Sie ihre Handflächen mit Silber (in ausreichender Menge) kreuzen, schließen sie auch bestimmte Verträge ab, um die Unterstützung für eine bestimmte Version länger zu verlängern.

Andere Gründe, bei älteren Versionen zu bleiben, hängen wirklich von bestimmten Umständen ab, z. B. der Vermeidung einer bekannten verpfuschten Version (z. B. MySQL 5.1 oder SQL2000 vor SP3) oder Zertifizierungs- oder Kompatibilitätsproblemen.

Verwalten einer SQL Server 2000-Produktionsdatenbank

Für ein Betriebssystem, das funktioniert und sich in einer ausgereiften Phase seines Lebenszyklus befindet, ohne dass viele größere Änderungen vorgenommen werden, gibt es wahrscheinlich keinen zwingenden Grund für ein Upgrade, bevor das DBMS den Mainstream-Support aufgibt. Sie sollten jedoch einen geordneten Upgrade-Pfad für diese Eventualität planen. Oracle ist bekannt für Leute, die Produktionssysteme auf alten Versionen warten.

SQL Server 2000 nähert sich dem Ende seiner Lebensdauer, sodass Sie keine neuen Entwicklungsarbeiten daran durchführen möchten. Es sollte jedoch eine Produktionsanwendung mit einem Plan gepflegt werden, der bei Bedarf ausgeführt werden kann. Sie werden wahrscheinlich ein Umschreiben in Ihren Händen haben, wenn Ihre App in VB6 oder klassischem ASP geschrieben ist - aber das ist ein anderes Problem; -}.

Der Gegenfall

Wenn ich ein Greenfield-Projekt hätte, würde ich normalerweise die neueste Version der DBMS-Plattform empfehlen, nur weil sie Ihnen das längste Fenster für die Unterstützung von Anbietern bietet. Niemand sollte noch SQL Server 2000 als Unternehmensstandard für neue Projekte haben - die EOL ist zu nah. Für ein neues Projekt ist dies bei weitem das stärkste Argument, um zu einer neueren Version zu wechseln. Argumente über das Sparen von Geld halten kein Wasser; Die App verursacht innerhalb weniger Jahre unnötige Portierungskosten, wenn Sie jetzt mit SQL2000 starten.

Der entscheidende Punkt bei der Arbeit auf der grünen Wiese ist, dass eine zu konservative Auswahl die Lebensdauer der Anwendung verkürzt, bevor ein Upgrade erforderlich ist. Normalerweise möchte man einen bestimmten Grund, sich nicht für die aktuelle Version einer DBMS-Plattform zu entscheiden.

ConcernedOfTunbridgeWells
quelle
3

Wir aktualisieren nicht, weil wir Finanzsoftware haben, die darauf basiert, und der Anbieter denkt nur darüber nach, dieses neue "SQL 2005" zu unterstützen, von dem er in letzter Zeit den verrückten Kinderblog gehört hat.

Ehrlich gesagt tut es mir weh , eine Mischung von Dingen zu unterstützen, aber nicht annähernd so sehr, wie es jedem im Unternehmen schaden würde , wenn ein Problem mit dem Finanzsystem auftaucht und dann der Finanzsoftware-Anbieter auf uns und uns hinweist lachen, als wir um Hilfe baten und erwähnten, dass die Probleme seit dem Upgrade auf SQL 2005 begannen, bevor sie es ratifiziert haben.

Es gibt auch viel zu sagen, wenn Dinge nicht repariert werden, wenn sie nicht wirklich kaputt sind. Ich möchte irgendwann alle meine SQL Server auf 2008 aktualisieren ... das tue ich wirklich. Aber es gibt noch so viel mehr Dinge, die ich tun könnte, um das Geschäftsergebnis auf eine Weise zu verbessern, die für meine Manager und die Benutzer verständlich und quantifizierbar ist ... nun, das wird immer an erster Stelle stehen.

Sie erwähnen Entwickler, die nicht gerne mit SQL 2000 arbeiten, in Ihrer Antwort auf die Antwort von Mastermind. Ich vermute, eine Methode, um damit umzugehen, wäre die, die meine Chefs bei mir anwenden würden, wenn ich entscheiden würde, dass ich SQL 2000 "nicht mag": "Danke, dass Sie hier gearbeitet haben, Tür zu Ihrer Linken". Am Ende des Tages werden wir alle dafür bezahlt, dass Dinge funktionieren, ob es uns gefällt oder nicht.

Rob Moir
quelle
3

In unserem Fall geht es weniger um "Warum weiterhin 2000 verwenden" als um "Das Upgrade kostet WIE viel?". Die meisten unserer Apps verwenden nichts, was 2005-spezifische Funktionen benötigt. Es gibt also keinen zwingenden Grund und wahrscheinlich erst, wenn Microsoft die Unterstützung dafür einstellt.

RainyRat
quelle
Sie können von einem Upgrade (auf SQL 2008) profitieren, auch wenn die Apps keinen SQL 2005-spezifischen Code verwenden. Dies geschieht nur durch Aktivieren der Datenkomprimierung (siehe meinen früheren Beitrag). Und Sie können die Sperren bei hoher Last verringern, indem Sie "Zeilenversionierung" aktivieren. Wenn Sie eine andere App kaufen oder erstellen, die SQL 2005/2008-spezifischen Code verwendet, möchten Sie außerdem zwei verschiedene Umgebungen unterstützen? Und mein letztes Argument in diesem Kommentar: Sie können Ihre Indizes online neu erstellen, ohne dass ein Servicefenster erforderlich ist. Dies wird sofort wirksam. / Håkan Winther
Hakan Winther
3

Kosten.

Neuere Software ist immer noch zusätzliche Software, die zusätzliches Geld kostet.

Dies mag und ist oft eine falsche Wirtschaft aufgrund der vielen Nachteile der Verwendung veralteter Systeme, aber es ist der einzige wirkliche Grund, der Sinn macht.

Keil
quelle
Schlimmer noch, Microsoft scheint keine Upgrade-Preise für SQL Server zu haben, sodass jede neue Edition selbst für bestehende Kunden die vollen Kosten verursacht. Jemand, bitte sag mir, dass ich falsch liege. :-(
Chris W. Rea
Sie liegen nicht falsch, es sei denn, Sie haben Software Assurance beim ersten Kauf gekauft.
SqlACID
3

Die neue Lizenz für SQL Server 2008 (Standard) kostet etwas weniger als 2.000 USD für 1 Server mit 5 CALs oder 6.000 USD für 1 CPU-Lizenz. Ich kann meinen alten Chef sagen hören: "Es ist nicht kaputt, aber wie viel kostet es, diese beiden Server zu aktualisieren?" (zu diesem Zeitpunkt 2 x Dual-CPU, für die CPU-Lizenzen erforderlich sind).

Nachdem ich SQL2000 sieben Jahre lang verwendet hatte, war meine erste Erfahrung im Jahr 2005 in einer VMWare ESX-Umgebung. Die Leistung war schlecht (der ISP stellte das VMWare-Know-how zur Verfügung, und als wir mit dem Auslastungstest begannen, stellten wir fest, dass sie nicht nur große Probleme mit unserem Server hatten, sondern sich auch auf unsere Erfahrung auswirkten), und kombiniert mit allem, was verschoben / umbenannt wurde (der alte Unternehmensmanager war soooo viel schneller) - wir waren glücklicher, das Upgrade zu verschieben. Dann haben wir auf die Veröffentlichung von 2008 gewartet, also aktualisieren wir erst jetzt auf 2008 (oder migrieren einige Daten nach MySQL / PostgresSQL).

Microsoft hat bis zum letzten Jahr noch Mainstream-Support für das Jahr 2000 angeboten, daher hatten wir erst vor kurzem einen überzeugenderen Grund für ein Upgrade.

Auch kleine Unternehmen haben ein Ressourcenproblem: Lernen, Planen und Testen des Upgrades erfordern Zeit und Auswirkungen auf andere Vorgänge. Wenn Sie eine andere Anwendung aktualisieren müssen, die gleichzeitig auf SQL Server installiert ist, kann dies ebenfalls sehr teuer werden.

Für eine Weile flirteten wir mit der Umstellung auf Open Source, und obwohl dies eine Möglichkeit war, wurde jedes Upgrade eingefroren.

Dan
quelle
2

Warum nicht ein Upgrade auf SQL Server 2008 durchführen? Dann können Sie Ihre Kosten aufgrund von Datenkomprimierung, einfacherer Wartung und verbesserter Leistung (gefilterte Indizes) senken. Kürzlich haben wir eine SQL Server 2000-Installation aktualisiert und 75% des Speicherplatzes gespart, und die Leistung hat sich dramatisch erhöht.

Eine weitere Verbesserung war die Parallelität aufgrund des neuen Sperrmechanismus, der in SQL Server 2005 eingeführt wurde.

/ Håkan Winther

Hakan Winther
quelle
2

Große Organisationen sind risikobehaftet und ignorant, was zu einigen wirklich dummen Entscheidungen führt. Als ich um 2003/2004 Unix-Sachen machte, waren wir mit einer Solaris 2.5.1-Umgebung konfrontiert, die veröffentlicht wurde, als ich in der 10. Klasse war, weil es sich um eine "bewährte" Technologie handelte und das Upgrade "zu teuer" war.

Zu teuer ist oft PHB-Sprache für "Ich war dumm, ein 1000-Dollar-Upgrade in einem 10-Millionen-Dollar-Projekt zu budgetieren".

Im Fall von Microsoft-Stack-Software sind die Benutzer häufig von Upgrades betroffen, da sie sich nicht mit dem Lizenztroll innerhalb des Unternehmens befassen wollten und eine OEM-Lizenz von Dell / IBM / etc erworben haben und keine Lust haben, sich mit dem zu befassen bürokratische Probleme bei der Aufrüstung.

duffbeer703
quelle
2

Ich kaufe das Argument "Vorabkosten" nicht (Wortspiel beabsichtigt), aber leider sind Vorabkosten etwas, über das viele PHBs besessen sind, so dass es gültig ist, es stehen zu lassen.

Für mich wäre der einzige zwingende Grund die Apps, die es verwenden. Wenn Sie beispielsweise ein SharePoint 2003-Haus sind, gibt es KEINE MÖGLICHKEIT, ein Upgrade auf SQL 2005 oder 2008 durchzuführen, ohne auch ein SharePoint-Upgrade durchzuführen, was keine triviale Angelegenheit ist.

Maximus Minimus
quelle
2

In unserer Organisation soll die gesamte Neuentwicklung auf SQL 2005/2008 basieren, aber wir haben so viele ältere 2000-Apps, dass es einfach nicht die Zeit / Energie / das Geld wert ist, sie alle zu konvertieren.

Zusätzlich zu den Kompatibilitätsproblemen (DTS zu SSIS ist für uns das größte) haben wir eine Reihe von Richtlinien / Sicherheitsbeschränkungen für SQL 2005 implementiert, die wir für SQL 2000 nicht durchgesetzt hatten (keine Dbo-Benutzer, nur Schemaberechtigungen, etc.)

BradC
quelle
1

In unserer Organisation gibt es mehrere Gründe. Einige sind ziemlich spezifisch für unseren Fall, andere etwas allgemeiner.

1) Inkompatibilitäten. Es gab einige Fälle, in denen Software, die intern für SQL2005 geschrieben wurde, Probleme bei der Installation auf SQL2000 hat. Der Fall, den ich zuletzt gesehen habe, war darauf zurückzuführen, dass Parameter explizit deklariert wurden, die im Jahr 2000 nicht vorhanden waren, und dass sich der Name der Systemindextabelle unterschied. (sys.indexes vs sysindexes)

2) Schulung. Unsere Entwickler kennen sicherlich das Jahr 2005 und würden es vorziehen, darauf zu entwickeln, oder bereits 2008. Die Aufgabe, alles betriebsbereit zu halten, liegt jedoch beim NOC, nicht bei den Entwicklern. Niemand in unserem NOC hat eine formelle SQL-Schulung absolviert, und die Unterschiede zwischen den beiden, nur vom Standpunkt des Verwaltungstools aus, reichen aus, um dies in Betracht zu ziehen.

3) Kosten für die Aktualisierung vorhandener Produkte. Für uns ist dies eine große Sache. Ich spreche hier nicht von den Lizenzkosten von Microsoft. In unserem Geschäft würde ein Upgrade eines unserer vorhandenen Produkte (selbst wenn wir nicht alles, was bereits vor Ort vorhanden ist, rückwirkend aktualisieren) einen teuren und langwierigen Prozess der erneuten Zertifizierung durch verschiedene behördliche und zertifizierende Testlabors erfordern. Wir bauen neue Produkte auf SQL2005, aktualisieren jedoch aus diesem Grund keine älteren.

Der Zertifizierungsprozess bedeutet auch, dass wir bei neuen Builds eine Mischung erhalten würden, bei der bestimmte Gerichtsbarkeiten SQL2000 und andere SQL2005 erhalten würden, je nachdem, ob die Genehmigungen noch erhalten wurden oder nicht. Aus Grund Nr. 2 bevorzugen wir es, unsere Produktionsumgebung so konsistent wie möglich zu halten.

4) Allgemeine Unterschiede. Dies ist wirklich eine Erweiterung von # 1. Es gibt viele kleine Dinge, die sich geändert haben und von denen einige Kopfschmerzen verursachen. Beispiel: SQL2005 unter Server2003 erzwingt Windows-Kennwortrichtlinien für SQL-Konten. An sich keine schlechte Sache, aber aufgrund der Art und Weise, wie wir mit der Datenbank interagieren, wird fast die gesamte Software (und viel Software von Drittanbietern) beschädigt.

Kurz gesagt, Trägheit.


quelle
1

Ich weiß, dass es Leute gibt, die .NET 1.1 verwenden müssen, weil sie Windows 2000-Systeme unterstützen müssen.

Nach dieser Logik besteht ein praktischer Grund für die Ausführung von MSSQL 2000 darin, dass Sie Windows NT 4-Systeme unterstützen können!

Ob Sie es glauben oder nicht, SQL Server 2005 läuft tatsächlich unter Windows Server 2000.

Nick Kavadias
quelle