Skip navigation

How can I tell if my code is ANSI-92 compliant?

A. The following is from the Books-Online. What isn't documented is that you need to put quotes around any value other than off.

Specifies checking for compliance with the FIPS 127-2 standard, which is based 
on the SQL-92 standard.


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 SQL-92 standards chosen, Microsoft® SQL Server™ generates a warning. 
level must be one of these values. 

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

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. 

SET FIPS_FLAGGER permissions default to all users

TAGS: SQL Server
Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.