Sie scheinen die falsche Syntax zu verwenden. Hier ist ein Beispiel, das die AdventureWorks-Datenbank verwendet.
%Vor%Erweitere die anderen 2 Antworten ...
Ich habe den gleichen Befehl in SQL 2005 mit 2 Datenbanken ausprobiert.
Bei beiden Kompatibilitätsebenen 80 und 90 lautet der Fehler:
%Vor%Ich kann diesen Fehler nur in einer SQL 2000-Box erzeugen:
%Vor% Was sagt SELECT @@version
? Ich würde 100% sicher sein, dass Sie die Version haben, die Sie erwarten ...
Mein anderer Gedanke ist compat level 65, das nicht explizit in SQL Server 2005 festgelegt werden kann > und darüber scheint es. Und ich habe keine Legacy-Datenbanken, die herumliegen, um zu testen.
Überprüfen Sie Ihre Datenbankkompatibilität; Stellen Sie sicher, dass es auf 90 oder höher eingestellt ist.
Es scheint, dass es mindestens zwei Dinge gibt, die hier nicht in Frage kommen.
ROW_NUMBER OVER()
keywords / -Befehl. Verwenden Sie SQL 2008 Management Studio möglicherweise, um eine Verbindung zu einem SQL 2000-Computer herzustellen? Überprüfen Sie mit SELECT @@Version
, dass Ihre DB tatsächlich eine SQL 2008 DB ist. Wenn Sie SSMS verwenden, das SQL Server 2008 sagt, bedeutet das nicht unbedingt, dass Sie mit der entsprechenden Datenbank verbunden sind. Verwenden Sie @@ Version, um die Version der Datenbank zu überprüfen, mit der Sie verbunden sind, da SQL 2005 Folgendes verwendet: [ROW_NUMBER () OVER (ORDER BY ColName)]
Tags und Links sql-server sql-server-2008 tsql