Para consultas como esta, é sempre melhor usar um
INFORMATION_SCHEMA
visualizar. Essas visualizações são (principalmente) padrão em muitos bancos de dados diferentes e raramente mudam de versão para versão. Para verificar se existe uma tabela use:
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'TheSchema'
AND TABLE_NAME = 'TheTable'))
BEGIN
--Do Stuff
END