Используйте TRY_CAST
или TRY_CONVERT
вместо простого CAST
При использовании условия, подобного TRY_CONVERT(DATE, RIGHT(T.name,6) ) < DATEADD(DAY,-8,GETDATE())
, вы не получите ошибку для несоответствия имен таблиц.
Измените свой запросвроде следующего.
SELECT
T.name
FROM sys.tables T
WHERE T.name NOT IN ('ElsevierExtracts')
AND TRY_CONVERT(DATE, RIGHT(T.name,6) ) < DATEADD(DAY,-8,GETDATE())
AND T.type = 'U'
Онлайн-демонстрация