De acordo com artigo , o banco de dados temporário é usado se a classificação exigir mais memória do que o SQL Server alocou.
Se você classificar por uma coluna que não esteja indexada, o servidor de banco de dados executará uma varredura completa da tabela e rastreará todos os valores de Date_Ordered (e valores de chave primária) de todos os registros da tabela.
Crie um INDEX em Orders.Date_Ordered para acelerar a classificação e reduzir o uso de memória.