Da un articolo SQLServerCentral.Com di Ken Powers:
Il punto e virgola
Il carattere punto e virgola è un terminatore di istruzione. Fa parte dello standard ANSI SQL-92, ma non è mai stato utilizzato all'interno di Transact-SQL. In effetti, è stato possibile codificare T-SQL per anni senza mai incontrare un punto e virgola.
Utilizzo
Esistono due situazioni in cui è necessario utilizzare il punto e virgola. La prima situazione è quella in cui si utilizza una Common Table Expression (CTE) e la CTE non è la prima istruzione nel batch. Il secondo è dove si emette un'istruzione Service Broker e l'istruzione Service Broker non è la prima istruzione nel batch.