In forums, people often ask such questions.:
Why is the result set of the same query sometimes arranged in the desired order, sometimes not, or in the order of SQL2000, to sql2005/2008?
In fact, as long as "order by" is not specified in the statement, sqlserver will not return in order. It is possible that an index has been created for a field in your table.
If you want to sort the result set by the indexed field, it is no problem if you do not specify "order, because the storage order of the table is sorted by the order of the field, you can not specify "order by". However, if you do not create an index for the field you want to sort, you can also create an index in SQL2000, but not in sql2005/2008, so you must explicitly specify the index with "order. If you do not specify the same query,
It is normal that the order of the result set is different from the previous one.