在SQL Server 2005中建View時如果你是用介面幫你產生的
應該會是像下面的指令碼一樣
SELECT TOP (100) PERCENT MsgText FROM dbo.RouterOS_All ORDER BY MsgDateTime DESC
當View建好了,也存檔了之後,再把View開起來
你會發現其實這個View並沒有依照我們的意思Order by
而解決問題的方法就是不要使用PERCENT,改用一個數值很大的值
SELECT TOP (2147483647) MsgText FROM dbo.RouterOS_All ORDER BY MsgDateTime DESC
這樣子就正常了。至於這是不是個Bug,我想就只能問MS了
測試環境:
SQL Server 2005 Express with SP3
Windows 2008 Std with SP1 x86
參考資料:
SQL Server 2005 Ordered View and Inline Function Problems