Benutzer mit den meisten Antworten
SQL 2016, compatibility Level SQL 2000 Version 80

Frage
-
Hallo zusammen,
gibt es eine Möglichkeit den Compatibility Level auf SQL 2000 einzustellen?
wir haben leider noch eine DB bei der der Support bereits gekündigt ist aber noch Daten zu nachsehen benötigt werden und jetzt den SQL Server umstellen möchten. Extra wegen einer DB eine zweite SQL Server belassen wäre lästig.
Chris
Antworten
-
Ach, sowas ist natürlich Mist. Da haben sie noch die native Synthax verwendet.
Die Abfragetexte sind mit ziemlicher Sicherheit in der Applikation hart verdrahtet und somit nicht mehr änderbar. Alle Ansätze, die eine On-the-Fly übersetzung beinhalten würden, sind teurer und aufwendiger als eine SQL 2008-Instanz noch ein paar Jahre zu betreiben...
Vielleicht läßt sich die Applikation, wenn sie schon so alt ist, "nur zum Nachschauen" auf Access migrieren? Manche von diesen alten Programmen kommen ja ursprünglich aus der MDB-Welt...
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort markiert -- Chris -- Montag, 26. September 2016 10:55
Alle Antworten
-
Moin,
es ist nicht vorgesehen, in Server 2016 weiter zurück als auf 100 zu gehen. Allerdings ist es vielleicht auch nicht schlimm, sofern die Applikation den Compatibility Level nicht explizit prüft, auf einen höheren Level als vorgesehen zu wechseln. Da, wie Du schreibst, die Datenbank nur zum Nachschauen beibehalten werden soll, kannst Du es ja einfach ausprobieren...
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
-
Hallo Chris
Sofern du nicht in der Datenbank bestimmte Funktionen nutzt welche sich in den nachfolgenden Stufen geändert haben, kannst du einfach einen höheren Level wählen.
Hier mal eine Übersicht der Änderungen zwischen 80 und 90
https://msdn.microsoft.com/en-us/library/bb510680(v=sql.100).aspx
Benjamin Hoch
MCSE: Data Platform
MCSA: SQL Server 2012/2014
MCSA: Windows Server 2012
Blog -
danke für die Infos
die Client Anwendung lässt sich starten. Abfragen jedoch nicht. Irgendwie hängt das mit dem ANSI oder Sortierung zusammen. Kann man das auch ändern?
SELECT
DISTINCT TOP 500 Fall.Nummer, Fall.Jahr, Fall.BuchID, Fall.FallID,Fall.Bezeichnung FallBez, Fall.StatusID,FStatus=Fall.StatusID, EvFallnotizDruckKZ from Fall, Buch, Buchart, Status, Nummernkreis, Aktion, FVK WHERE Fall.BuchID=Buch.Buchid and Buch.BuchartID=Buchart.BuchartID AND zentralpersonid = 1083848 ORDER BY fall.jahr desc, fall.nummer desc
Msg 4147, Level 15, State 1, Line 1
The query uses non-ANSI outer join operators ("*=" or "=*"). To run this query without modification, please set the compatibility level for current database to 80, using the SET COMPATIBILITY_LEVEL option of ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes.
Chris
-
Ach, sowas ist natürlich Mist. Da haben sie noch die native Synthax verwendet.
Die Abfragetexte sind mit ziemlicher Sicherheit in der Applikation hart verdrahtet und somit nicht mehr änderbar. Alle Ansätze, die eine On-the-Fly übersetzung beinhalten würden, sind teurer und aufwendiger als eine SQL 2008-Instanz noch ein paar Jahre zu betreiben...
Vielleicht läßt sich die Applikation, wenn sie schon so alt ist, "nur zum Nachschauen" auf Access migrieren? Manche von diesen alten Programmen kommen ja ursprünglich aus der MDB-Welt...
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort markiert -- Chris -- Montag, 26. September 2016 10:55
-
Hallo Chris,
Du musst die Abfrage umschreiben:
SELECT DISTINCT TOP 500 Fall.Nummer, Fall.Jahr, Fall.BuchID, Fall.FallID, Fall.Bezeichnung AS FallBez, Fall.StatusID, --FStatus=Fall.StatusID, Fall.StatusID AS FStatus, EvFallnotizDruckKZ from Fall LEFT JOIN Buch ON (Fall.BuchID=Buch.Buchid) LEFT JOIN Buchart ON (Buch.BuchartID=Buchart.BuchartID) --Status, --Nummernkreis, --Aktion, --FVK WHERE zentralpersonid = 1083848 ORDER BY fall.jahr desc, fall.nummer desc
Warum waren die Tabellen Status, Nummernkreis, Aktion, FVK enthalten? Es werden keine Inhalte aus den Tabellen ausgegeben noch wird festgelegt, wie diese in Beziehung stehen.
Schönen Abend.