从SQL SERVER 2000到SQL SERVER 2005 视图中存在 ORDER BY 语句的完全解决方案

首先要看微软的一个官方文章:
http://support.microsoft.com/kb/926292/

文章中提到的补丁程序并未公开,需要与微软联系,工程师会给你下载地址和安装密码。我这里有一个直接下载用的(微软工程师发给我的,不要密码了)。

安装补丁包后,还要两件事情要做:

一个是 保证数据库的 属性是 2000的,80,保证向下兼容。在数据库上右键->属性->选项->兼容级别->SQL SERVER 2000(80)

一个是在 SQL SERVER 服务上启动参数上增加 ;-t168。启动SQL Server Configuration Manager,选择SQL SERVER (MSSQLSERVER)->属性->高级->启动参数->增加 ;-t168


OK,重启SQL SERVER 2005服务,在试试看视图的顺序,已经正确了!
这个方法仅仅是为2000兼容的,因为根据ANSI-SQL 92标准,并未提及在视图中可以用 ORDER BY语句,所以官方就可以不支持。建议以后在SQL SEVER 2005开发的时候,还是要遵守官方标准!

原文地址:https://www.cnblogs.com/codehunter008/p/898460.html