Loading...
Loading...
Azure SQL Database best practices skill for optimizing T-SQL code, database configuration, indexing strategies, and application patterns. Based on Microsoft SQL Assessment API, SSDT Code Analysis rules, Azure SQL Database performance guidance, and official Microsoft best practices. Use this skill when writing, reviewing, or refactoring code that interacts with Azure SQL Database.
npx skill4agent add amthomas46/azure-sql-best-practices azure-sql-best-practices| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Query Performance | CRITICAL | |
| 2 | Indexing Strategy | CRITICAL | |
| 3 | Security & Compliance | HIGH | |
| 4 | Connection Management | HIGH | |
| 5 | T-SQL Patterns | MEDIUM-HIGH | |
| 6 | SSDT Code Analysis | MEDIUM-HIGH | |
| 7 | Database Configuration | MEDIUM | |
| 8 | Data Modeling | MEDIUM | |
| 9 | Monitoring & Diagnostics | LOW-MEDIUM | |
| Rule ID | Description | Severity |
|---|---|---|
| SR0001 | Avoid SELECT * in queries | HIGH |
| SR0008 | Use SCOPE_IDENTITY() instead of @@IDENTITY | MEDIUM |
| SR0009 | Avoid VARCHAR/NVARCHAR with size 1 or 2 | LOW |
| SR0010 | Avoid deprecated = and = join syntax | MEDIUM |
| SR0013 | Output parameter not populated in all code paths | MEDIUM |
| SR0014 | Potential data loss from implicit type casting | HIGH |
| Rule ID | Description | Severity |
|---|---|---|
| SR0004 | Avoid non-indexed columns in IN predicates | HIGH |
| SR0005 | Avoid LIKE patterns starting with '%' | HIGH |
| SR0006 | Move column reference to one side of comparison | MEDIUM |
| SR0007 | Use ISNULL(column, default) on nullable columns | MEDIUM |
| SR0015 | Extract deterministic function calls from WHERE | MEDIUM |
| Rule ID | Description | Severity |
|---|---|---|
| SR0011 | Avoid special characters in object names | LOW |
| SR0012 | Avoid reserved words for type names | MEDIUM |
| SR0016 | Avoid sp_ prefix for stored procedures | MEDIUM |
query-avoid-select-starquery-parameterizequery-avoid-functions-on-columnsquery-sargablequery-batch-operationsquery-avoid-cursorsquery-limit-resultsquery-avoid-implicit-conversionquery-join-optimizationquery-exists-vs-countquery-avoid-leading-wildcardindex-cover-queriesindex-avoid-over-indexingindex-missing-index-dmvindex-unused-indexesindex-fragmentationindex-columnstoreindex-filteredindex-include-columnsindex-key-orderindex-avoid-wide-keysindex-in-predicatesecurity-parameterize-queriessecurity-least-privilegesecurity-avoid-sasecurity-encrypt-connectionssecurity-row-level-securitysecurity-dynamic-data-maskingsecurity-always-encryptedsecurity-tdesecurity-audit-loggingsecurity-vulnerability-assessmentconnection-poolingconnection-retry-logicconnection-timeoutconnection-close-disposeconnection-asyncconnection-read-replicasconnection-application-intentconnection-multisubnetfailovertsql-set-nocounttsql-schema-qualifytsql-avoid-hintstsql-temp-tables-vs-variablestsql-transaction-scopetsql-error-handlingtsql-avoid-triggerstsql-cte-vs-subquerytsql-merge-carefullytsql-avoid-dynamic-sqltsql-scope-identitytsql-avoid-deprecated-joinstsql-output-paramstsql-avoid-sp-prefixtype-appropriate-sizetype-avoid-deprecatedtype-match-column-typestype-avoid-max-unnecessarilytype-nullable-handlingtype-reserved-wordsnaming-avoid-special-charsnaming-avoid-reserved-wordsnaming-consistent-casenaming-descriptivenaming-avoid-prefixesconfig-query-storeconfig-auto-tuningconfig-max-dopconfig-memory-grantconfig-compatibility-levelconfig-auto-statsconfig-page-verifyconfig-recovery-modelconfig-tempdbconfig-accelerated-recoverymodel-normalizationmodel-appropriate-typesmodel-avoid-nullablemodel-partition-strategymodel-computed-columnsmodel-constraint-enforcementmodel-hierarchical-pkmodel-temporal-tablesmodel-json-columnsmonitor-query-performance-insightmonitor-dmvsmonitor-extended-eventsmonitor-intelligent-insightsmonitor-resource-utilizationmonitor-deadlock-analysismonitor-wait-statisticsmonitor-log-iorules/query-avoid-select-star.md
rules/index-cover-queries.md
rules/security-parameterize-queries.md
rules/tsql-code-analysis.mdAGENTS.mdscripts/analyze-tsql.pyscripts/check-indexes.sqlscripts/security-audit.sqlscripts/run-assessment.ps1references/sql-assessment-api.mdreferences/dmv-queries.mdreferences/connection-strings.mdreferences/ssdt-code-analysis.md