If you try to comment out the GO keyword inside a batch run, you might not get the results you expect. For example, imagine that the following batch is part of a larger script and you need to comment it out during a testing phase:

SELECT * FROM authors
GO

To comment out the batch, you might try to use standard block comment markers on separate lines above and below the code you want to comment out:

/*
SELECT * FROM authors
GO
*/

But this change produces the error messages that Figure A and Figure B show. SQL Server's parser doesn't realize that the GO keyword is commented out. Instead, the parser sees two batches. SQL Server thinks the first batch contains the lines

/*
SELECT * FROM authors

and the second batch contains one line that consists of the */ comment marker. Instead, you need to comment out the batch by commenting out the GO keyword line separately, as the following examples show:

/*
SELECT * FROM authors
--GO
*/

or

/*
SELECT * FROM authors
/*GO*/
*/

The redundant comment markers clarify the code without affecting processing.