Performance Data Integrity Reliability Security Maintainability Severity
Table Structures
Primary keys X X X High
Foreign keys X High
Unicode data types X X Low
Naming conventions X Low
Relational field naming X X Med
Nullable fields X X X X High
Audit columns X X High
User-defined types (UDTs) X Low
Data type usage X X Low
Obsolete data types X High
Table size constraints X X X Low
BLOB storage X X X Med
Under Normalization X X X High
Over Normalization X X X High
Stored Procedures: GOTO statements X Med
Stored Procedures: Cursors X X X High
Triggers: excessive use X X Med
Triggers: Before and After X X High
User-Defined Functions (UDFs) X X High
Extended Stored Procedures (XPs) X X X X X High
SQL Common Language Runtime (CLR) X X Med
Queries: SELECT * X X High
Queries: Dynamic SQL X X Med
Queries: "NOT IN" clauses X Med
Queries: "IN" clauses X Med
Queries: Non-ANSI Join syntax X High
Queries: Non-Sargable WHERE clauses X Med
Missing Constraints X X High
Missing Relationships X X High
Missing Relationship Constraints X X High
Unique Constraints X X High
Missing Clustered Indexes X X X X High
Clustered Index Usage X X X X High
Missing Nonclustered Indexes X High
Missing Foreign Key Indexes  X X X High
Under-Indexing X High
Over-Indexing X X High
Data Records
Orphaned Records X X X High
Invalid relationship data X X X X High
Obsolete data X X X X High
Inconsistent data and format X X X High
Duplicate data X X X High
Database and Server
Vardecimal Storage Format X Med
SQL Server Data Compression X Med
Database Options X X X X X High
Default Cursor Behavior X X X High
PAGE_VERIFY option X X X Med
Autogrowth X X X High
Fill Factor X X X Med
Surface Area Configuration X X X X High
Security and Auditing
Guest User account X X High
SA account X X High
Change Audit X X High
Security Audit X High
SQL Service Patch X X X X X High
Database Integrity X X X X High
Reorganizing and Rebuilding Indexes X X High
Column Index Statistics Updates X X High
Maintenance History Clean-up X X Low
Automated back-ups X X Med