Me entero en SQLServerCentral.com que FIPS 127-2 ha sido anulada (motivos?, aún no lo sé), sin embargo, aún no ha sido depreciada la sentencia SET FIPS_FLAGGER en SQL Server 2008 ni en SQL Server 2008 R2 CTP Agosto, el cual sirve para comprobar el cumplimiento del estándard SQL 92 especificado por FIPS 127-2. FIPS es el estándar federal de procesamiento de información desarrollado por el gobierno de Estados Unidos, cuyo uso está en el desarrollo sistemas de tecnologías de información para el gobierno de EEUU o Canadá. El impacto de la anulación de FIPS 127-2 está relacionado a temas de testing por parte de empresas y contratistas que desarrollan manejadores de bases de datos para el gobierno EEUU o Canadá.
Como ya lo mencioné, esta validación de FIPS 127-2 en SQL Server está implementada por la instrucción SET FIPS_FLAGGER. Al utilizar SET FIPS_FLAGGER el mensaje de advertencia de imcumplimiento tiene el siguiente formato:
FIPS Warning: Line %d has the non-ANSI clause '%ls'.
Usted también puede usarlo para detectar código no ANSI durante los procesos de revisión de calidad de programación con T-SQL. Ejemplo:
SET FIPS_FLAGGER 'FULL'
SELECT TOP 1 localname, internalnumber
FROM dbo.af_mst_pro
WHERE afe='PE519AD0803'
Ahora FIPS_FLAGGER nos advierte que estamos usando código non-ANSI.
FIPS Warning: Line 1 has the non-ANSI statement 'SET'.
FIPS Warning: Line 2 has the non-ANSI clause 'TOP'.
Es evidente que no podemos dejar de usar cosas non-ANSI (a pesar de su impacto en la performance, portabilidad, interoperabilidad y otros temas…), pero nos ayudará averiguarlo donde lo estamos haciendo (en el caso que usted no sepa que instrucción es ANSI y que es no-ANSI) y poder nosotros decidir. Adicionalmente recuerde que las sentencias non-ANSI tienden a ser depreciadas y discontinuadas conforme van saliendo al mercado nuevas versiones de SQL Server.
Existen algunas preguntas que aún no puedo responderme. ¿cuál será el nuevo estándard a comprobar? , aparecerá un nuevo FIPS que valide el último estandard SQL?… por ahora no hay nada a la vista. Qué hará Microsoft ahora?, depreciará la instrucción SET FIPS_FLAGGER?.
enjoy!,
PercyReyes,