SET FIPS_FLAGGER (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

Specifies checking for compliance with the FIPS 127-2 standard. This is based on the ISO standard. For information about SQL Server FIPS compliance, see How to use SQL Server 2016 in FIPS 140-2-compliant mode.

Transact-SQL syntax conventions

Syntax

SET FIPS_FLAGGER ( 'level' |  OFF )  

Note

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

Arguments

' level '
Is the level of compliance against the FIPS 127-2 standard for which all database operations are checked. If a database operation conflicts with the level of ISO standards chosen, Microsoft SQL Server generates a warning.

level must be one of the following values.

Value Description
ENTRY Standards checking for ISO entry-level compliance.
FULL Standards checking for ISO full compliance.
INTERMEDIATE Standards checking for ISO intermediate-level compliance.
OFF No standards checking.

Remarks

The setting of SET FIPS_FLAGGER is set at parse time and not at execute or run time. Setting at parse time means that if the SET statement is present in the batch or stored procedure, it takes effect, regardless of whether code execution actually reaches that point; and the SET statement takes effect before any statements are executed. For example, even if the SET statement is in an IF...ELSE statement block that is never reached during execution, the SET statement still takes effect because the IF...ELSE statement block is parsed.

If SET FIPS_FLAGGER is set in a stored procedure, the value of SET FIPS_FLAGGER is restored after control is returned from the stored procedure. Therefore, a SET FIPS_FLAGGER statement specified in dynamic SQL does not have any effect on any statements following the dynamic SQL statement.

Permissions

Requires membership in the public role.

See Also

SET Statements (Transact-SQL)