|
|
|
|
|
|
|
|
|
|
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 |
Normalization |
|
|
|
|
|
|
|
Under Normalization |
X |
X |
|
|
X |
High |
|
Over Normalization |
X |
|
X |
|
X |
High |
Programmability |
|
|
|
|
|
|
|
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 |
Constraints |
|
|
|
|
|
|
|
Missing Constraints |
X |
X |
|
|
|
High |
|
Missing Relationships |
|
X |
|
|
X |
High |
|
Missing Relationship Constraints |
|
X |
|
|
X |
High |
|
Unique Constraints |
|
X |
|
|
X |
High |
Indexing |
|
|
|
|
|
|
|
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 |
Maintenance |
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|