Returns only metadata to the client. Can be used to test the format of the response without actually running the query.
Transact-SQL Syntax Conventions
SET FMTONLY { ON | OFF }
No rows are processed or sent to the client because of the request when SET FMTONLY is turned ON.
The setting of SET FMTONLY is set at execute or run time and not at parse time.
Requires membership in the public role.
The following example changes the SET FMTONLY setting to ON and executes a SELECT statement. The setting causes the statement to return the column information only; no rows of data are returned.
SET FMTONLY
ON
SELECT
USE AdventureWorks; GO SET FMTONLY ON; GO SELECT * FROM HumanResources.Employee; GO SET FMTONLY OFF; GO
If you SET FMTONLY ON (or it is generated, which SSRS does) before executing a stored proc, if that stored proc contains IF statements, it will execute ALL BRANCHES of the IF statements in your stored proc, ignoring the conditions.For example, consider this code:
DECLARE @i INTSET @i = 0IF @i = 0 SET @i = @i + 1ELSE SET @i = @i + 2
will result in @i = 3 with SET FMTONLY ON and @i = 1 with SET FMTONLY OFF.With SET FMTONLY ON, the condition "@i = 1" is ignored and both SET statements (IF and ELSE) are executed.