Я не знаю, как это отреагировало бы в SQL 2000, но использование UNION
вместо UNION ALL
вызовет операцию сортировки, когда результаты двух запросов объединены (чтобы избавиться от дубликатов),Это может быть значительное количество обработки, в зависимости от размера вашего результирующего набора.
Кроме того, использование tempdb довольно резко меняется между SQL 2000 и SQL 2008. Операция сортировки, скорее всего, будет использовать базу данных tempdb, поэтому вам следуетпроверьте носитель для вашей базы данных tempdb и убедитесь, что на нем достаточно места и т. д.