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?
sql-server
John Saunders
quelle
quelle
Antworten:
Business Mind unterscheidet sich normalerweise stark von Ihrem. Warum etwas Neueres verwenden, wenn es nicht mehr Einnahmen generiert, sondern nur Ausgaben (Migration, Umschulung usw.)?
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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
quelle
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.
quelle
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.
quelle
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.)
quelle
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
Ein guter Blog-Beitrag, der bereits die gleiche Frage gestellt hat.
quelle
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.
quelle