Archive for October, 2011


Announcing SQL Enlight 1.9.0.587 Beta

Monday, October 3rd, 2011

After almost a year, we are very happy to announce the release of SQL Enlight 1.9.0.587 Beta.
Here follows a list of the major new features and improvements that are included in it.

New Features

  1. Static Code Analysis TFS Check-in Policy. Both TFS 2008 and TFS 2010 are supported.
  2. Two new refectories:
    • Expand Wildcards
    • Add Statement Terminators
  3. Layout:
    • Option to ignore layout of selected statements
    • New comment layout options
  4. 25 new analysis rules. See here for complete list of the new rules.

Improvements

  • Command line tool, NAnt and MSBuild tasks improvements now support recursive processing of folders and multiple target files.
  • Analysis rules – several extensions made available including.
  • Layout command – syntax errors will not stop the layout, but will just skip the source batch.
  • Automatic updates checking.
  • Memory usage optimizations.

Free features

The following features are now free to use and are not trial limited:

  • Validate SQL Code
  • Statements History
  • Summarize Script
  • Outline Statements

The version is 1.9.0.587 and is available for download here.

List of the new analysis rules in version 1.9.0.587

Monday, October 3rd, 2011

These are the new rules added in the analysis template of SQL Enlight 1.9.0.587:

  1. SA0060 : The sp_xml_preparedocument procedure call is not paired with a following sp_xml_removedocument call.
  2. SA0061A : Check all Tables in the current database for following specified naming convention.(Context Only)
  3. SA0061B : Check table names used in CREATE TABLE statements for table name following specified naming convention.(Batch)
  4. SA0062A : Check all Functions in the current database for following specified naming convention.(Context Only)
  5. SA0062B : Check function names used in CREATE FUNCTION statements for following specified naming convention. (Batch)
  6. SA0063A : Check all Views in the current database for following specified naming convention.(Context Only)
  7. SA0063B : Check view names used in CREATE VIEW statements for following specified naming convention. (Batch)
  8. SA0064A : Check all Stored Procedures in the current database for following specified naming convention.(Context Only)
  9. SA0064B : Check stored procedure names used in CREATE PROCEDURE statements for following specified naming convention. (Batch)
  10. SA0065A : Check all Triggers for for following specified naming convention.(Context Only)
  11. SA0065B : Check trigger names used in CREATE TRIGGER statements for for following specified naming convention. (Batch)
  12. SA0066A : Check all Columns for following specified naming convention.(Context Only)
  13. SA0067A : Check all Unique Key Constraints in the current database for following specified naming convention.(Context Only)
  14. SA0068A : Check all Check Constraints in the current database for following specified naming convention.(Context Only)
  15. SA0069A : Check all Default Constraints in the current database for following specified naming convention.(Context Only)
  16. SA0070A : Check all Primary Key Constraints in the current database for following specified naming convention.(Context Only)
  17. SA0071A : Check all Foreign Key Constraints in the current database for following specified naming convention.(Context Only)
  18. SA0072A : Check all Non-Key Indexes in the current database for following specified naming convention.(Context Only)
  19. SA0073A : Check all User-Defined Types in the current database for following specified naming convention.(Context Only)
  20. SA0074A : Check all Schemas in the current database for following specified naming convention.(Context Only)
  21. SA0075 : Avoid constraints created with system generated name.
  22. SA0076 : Check UPDATE and DELETE statements for not filtering using all the PRIMAR KEY columns of the target table.
  23. SA0077 : Avoid executing dynamic code using EXECUTE statement.
  24. SA0078 : Statement is not terminated with semicolon.
  25. SA0079 : Avoid using column numbers in ORDER BY clause.
  26. SA0080 : Do not use VARCHAR or NVARCHAR data types without specifying length.
  27. SA0081 : Do not use DECIMAL or NUMERIC data types without specifying precision and scale.
  28. SA0082 : Consider prefixing column names with table name or table alias.
  29. SA0085 : Check database objects for missing specific extended properties.