Loading...
Loading...
Compare original and translation side by side
| 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 | |
| 优先级 | 类别 | 影响级别 | 前缀 |
|---|---|---|---|
| 1 | 查询性能 | 关键 | |
| 2 | 索引策略 | 关键 | |
| 3 | 安全与合规 | 高 | |
| 4 | 连接管理 | 高 | |
| 5 | T-SQL模式 | 中高 | |
| 6 | SSDT代码分析 | 中高 | |
| 7 | 数据库配置 | 中 | |
| 8 | 数据建模 | 中 | |
| 9 | 监控与诊断 | 中低 | |
| 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 |
| 规则ID | 描述 | 严重级别 |
|---|---|---|
| SR0001 | 避免在查询中使用SELECT * | 高 |
| SR0008 | 使用SCOPE_IDENTITY()替代@@IDENTITY | 中 |
| SR0009 | 避免使用长度为1或2的VARCHAR/NVARCHAR | 低 |
| SR0010 | 避免使用已弃用的*=和=*连接语法 | 中 |
| SR0013 | 输出参数未在所有代码路径中赋值 | 中 |
| SR0014 | 隐式类型转换可能导致数据丢失 | 高 |
| 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 |
| 规则ID | 描述 | 严重级别 |
|---|---|---|
| SR0004 | 避免在IN谓词中使用未索引的列 | 高 |
| SR0005 | 避免使用以'%'开头的LIKE模式 | 高 |
| SR0006 | 将列引用移至比较运算符的一侧 | 中 |
| SR0007 | 对可为空的列使用ISNULL(column, default) | 中 |
| SR0015 | 从WHERE子句中提取确定性函数调用 | 中 |
| 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 |
| 规则ID | 描述 | 严重级别 |
|---|---|---|
| SR0011 | 避免在对象名称中使用特殊字符 | 低 |
| SR0012 | 避免使用保留字作为类型名称 | 中 |
| SR0016 | 避免为存储过程使用sp_前缀 | 中 |
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-wildcardquery-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-predicateindex-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-assessmentsecurity-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-multisubnetfailoverconnection-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-prefixtsql-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-wordstype-appropriate-sizetype-avoid-deprecatedtype-match-column-typestype-avoid-max-unnecessarilytype-nullable-handlingtype-reserved-wordsnaming-avoid-special-charsnaming-avoid-reserved-wordsnaming-consistent-casenaming-descriptivenaming-avoid-prefixesnaming-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-recoveryconfig-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-columnsmodel-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-iomonitor-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.mdrules/query-avoid-select-star.md
rules/index-cover-queries.md
rules/security-parameterize-queries.md
rules/tsql-code-analysis.mdAGENTS.mdAGENTS.mdscripts/analyze-tsql.pyscripts/check-indexes.sqlscripts/security-audit.sqlscripts/run-assessment.ps1scripts/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.mdreferences/sql-assessment-api.mdreferences/dmv-queries.mdreferences/connection-strings.mdreferences/ssdt-code-analysis.md