Detta är en bugg i SQL Server 2008.Use
insert @columns
select ColumnNames.value('.', 'nvarchar(300)') name
from @xColumns.nodes('/columns/name') T1(ColumnNames)
OPTION (OPTIMIZE FOR ( @xColumns = NULL ))
Den här lösningen är från ett objekt på Microsoft Connect Site som också nämner en snabbkorrigering för detta problem med Eager Spool/XML Reader är tillgänglig (under traceflag 4130).
Orsaken till prestandaregressionen förklaras i ett annat anslutningsobjekt