utilizzare sempre con istruzioni come ;WITH allora non riceverai mai questo errore. Il comando WITH richiedeva un ; tra esso e qualsiasi comando precedente, utilizzando sempre ;WITH non dovrai mai ricordarti di farlo.
vedere WITH common_table_expression (Transact-SQL), dalla sezione Linee guida per la creazione e l'utilizzo di espressioni di tabelle comuni:
Quando un CTE viene utilizzato in un'istruzione che fa parte di un batch, l'istruzione prima deve essere seguita da un punto e virgola.