Token导航 LogoToken导航TokenDH.com
开发规范external-servicegithub未标认证来源可访问许可证需确认审计通过

azure-sql-best-practicesAzure SQL 最佳实践

Agent Skill

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

总安装

465

周安装

19

GitHub Stars

6

下载量

150
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:azure-sql-best-practices(Azure SQL 最佳实践)
来源仓库:https://github.com/amthomas46/azure-sql-best-practices
仓库路径:skills/azure-sql-best-practices
安装命令:
npx skills add https://github.com/amthomas46/azure-sql-best-practices --skill azure-sql-best-practices
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/amthomas46/azure-sql-best-practices --skill azure-sql-best-practices

简介

提供 Azure SQL Database 开发的全面最佳实践指南。

  • 帮助分析 T-SQL 脚本、索引策略、安全配置与连接模式。
  • 基于 SQL Assessment API、SSDT 代码分析与官方性能指引。
  • 适用于查询优化、数据库代码审查与云原生配置场景。
  • azure-sql-best-practices 属于开发规范类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Azure SQL Database Best Practices

Comprehensive best practices guide for Azure SQL Database development and optimization. This skill helps AI agents analyze and improve T-SQL scripts, application database code, indexing strategies, security configurations, and connection patterns.

Based on:

When to Apply

Reference these guidelines when:

  • Writing new T-SQL queries, stored procedures, or scripts
  • Reviewing database code for performance issues
  • Configuring Azure SQL Database settings
  • Implementing data access patterns in applications
  • Optimizing indexing strategies
  • Auditing security configurations
  • Refactoring existing database code
  • Migrating from SQL Server to Azure SQL Database

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Query PerformanceCRITICALquery-
2Indexing StrategyCRITICALindex-
3Security & ComplianceHIGHsecurity-
4Connection ManagementHIGHconnection-
5T-SQL PatternsMEDIUM-HIGHtsql-
6SSDT Code AnalysisMEDIUM-HIGHSR****
7Database ConfigurationMEDIUMconfig-
8Data ModelingMEDIUMmodel-
9Monitoring & DiagnosticsLOW-MEDIUMmonitor-

SSDT Code Analysis Rules (Microsoft Static Analysis)

These rules are from Microsoft's SQL Server Data Tools (SSDT) static code analysis. They are enforced in Visual Studio Database Projects.

Design Issues (SR0001, SR0008-SR0014)

Rule IDDescriptionSeverity
SR0001Avoid SELECT * in queriesHIGH
SR0008Use SCOPE_IDENTITY() instead of @@IDENTITYMEDIUM
SR0009Avoid VARCHAR/NVARCHAR with size 1 or 2LOW
SR0010Avoid deprecated *= and =* join syntaxMEDIUM
SR0013Output parameter not populated in all code pathsMEDIUM
SR0014Potential data loss from implicit type castingHIGH

Performance Issues (SR0004-SR0007, SR0015)

Rule IDDescriptionSeverity
SR0004Avoid non-indexed columns in IN predicatesHIGH
SR0005Avoid LIKE patterns starting with '%'HIGH
SR0006Move column reference to one side of comparisonMEDIUM
SR0007Use ISNULL(column, default) on nullable columnsMEDIUM
SR0015Extract deterministic function calls from WHEREMEDIUM

Naming Issues (SR0011, SR0012, SR0016)

Rule IDDescriptionSeverity
SR0011Avoid special characters in object namesLOW
SR0012Avoid reserved words for type namesMEDIUM
SR0016Avoid sp_ prefix for stored proceduresMEDIUM

Quick Reference

1. Query Performance (CRITICAL)

  • query-avoid-select-star (SR0001) - Never use SELECT * in production code
  • query-parameterize - Always use parameterized queries to prevent SQL injection and enable plan caching
  • query-avoid-functions-on-columns - Don't apply functions to columns in WHERE clauses
  • query-sargable - Write SARGable (Search ARGument ABLE) predicates for index usage
  • query-batch-operations - Batch INSERT/UPDATE/DELETE operations to reduce round trips
  • query-avoid-cursors - Replace cursors with set-based operations
  • query-limit-results - Use TOP or OFFSET-FETCH for pagination
  • query-avoid-implicit-conversion (SR0014) - Match data types to prevent implicit conversions
  • query-join-optimization - Order joins for optimal execution plans
  • query-exists-vs-count - Use EXISTS instead of COUNT(*) > 0
  • query-avoid-leading-wildcard (SR0005) - Avoid LIKE '%value' patterns

2. Indexing Strategy (CRITICAL)

  • index-cover-queries - Create covering indexes for frequent queries
  • index-avoid-over-indexing - Balance read vs write performance
  • index-missing-index-dmv - Use DMVs to identify missing indexes
  • index-unused-indexes - Remove unused indexes consuming resources
  • index-fragmentation - Monitor and address index fragmentation
  • index-columnstore - Use columnstore indexes for analytics workloads
  • index-filtered - Use filtered indexes for subset queries
  • index-include-columns - Use INCLUDE for non-key columns
  • index-key-order - Order index keys by selectivity
  • index-avoid-wide-keys - Keep index keys narrow
  • index-in-predicate (SR0004) - Ensure columns in IN predicates are indexed

3. Security & Compliance (HIGH)

  • security-parameterize-queries - Prevent SQL injection with parameters
  • security-least-privilege - Grant minimum required permissions
  • security-avoid-sa - Never use sa or dbo for application access
  • security-encrypt-connections - Always use encrypted connections
  • security-row-level-security - Implement RLS for multi-tenant apps
  • security-dynamic-data-masking - Mask sensitive data
  • security-always-encrypted - Use Always Encrypted for sensitive columns
  • security-tde - Enable Transparent Data Encryption
  • security-audit-logging - Enable SQL Audit for compliance
  • security-vulnerability-assessment - Regular vulnerability scans

4. Connection Management (HIGH)

  • connection-pooling - Always use connection pooling
  • connection-retry-logic - Implement retry logic for transient failures
  • connection-timeout - Set appropriate connection timeouts
  • connection-close-dispose - Always close/dispose connections
  • connection-async - Use async/await for database calls
  • connection-read-replicas - Use read replicas for read workloads
  • connection-application-intent - Set ApplicationIntent for read replicas
  • connection-multisubnetfailover - Enable for geo-replicated databases

5. T-SQL Patterns (MEDIUM-HIGH)

  • tsql-set-nocount - Use SET NOCOUNT ON in stored procedures
  • tsql-schema-qualify - Always schema-qualify object names
  • tsql-avoid-hints - Avoid query hints unless necessary
  • tsql-temp-tables-vs-variables - Choose appropriately between temp tables and table variables
  • tsql-transaction-scope - Keep transactions short
  • tsql-error-handling - Use TRY-CATCH with proper error handling
  • tsql-avoid-triggers - Minimize trigger usage
  • tsql-cte-vs-subquery - Use CTEs for readability and recursion
  • tsql-merge-carefully - Use MERGE with caution
  • tsql-avoid-dynamic-sql - Minimize dynamic SQL, parameterize when used
  • tsql-scope-identity (SR0008) - Use SCOPE_IDENTITY() instead of @@IDENTITY
  • tsql-avoid-deprecated-joins (SR0010) - Use ANSI JOIN syntax, not *= or =*
  • tsql-output-params (SR0013) - Populate output parameters in all code paths
  • tsql-avoid-sp-prefix (SR0016) - Don't prefix stored procedures with sp_

6. Data Type Best Practices (MEDIUM)

  • type-appropriate-size (SR0009) - Avoid VARCHAR(1) or VARCHAR(2), use CHAR instead
  • type-avoid-deprecated - Don't use TEXT, NTEXT, IMAGE types
  • type-match-column-types - Match parameter types to column types
  • type-avoid-max-unnecessarily - Use specific sizes instead of MAX when possible
  • type-nullable-handling (SR0007) - Use ISNULL on nullable columns in expressions
  • type-reserved-words (SR0012) - Don't use reserved words for type names

7. Naming Conventions (MEDIUM)

  • naming-avoid-special-chars (SR0011) - Avoid special characters in object names
  • naming-avoid-reserved-words (SR0012) - Don't use reserved words as identifiers
  • naming-consistent-case - Use consistent casing (PascalCase or snake_case)
  • naming-descriptive - Use descriptive, meaningful names
  • naming-avoid-prefixes - Avoid Hungarian notation prefixes

8. Database Configuration (MEDIUM)

  • config-query-store - Enable Query Store for performance insights
  • config-auto-tuning - Enable automatic tuning
  • config-max-dop - Configure appropriate MAXDOP
  • config-memory-grant - Monitor memory grants
  • config-compatibility-level - Use appropriate compatibility level
  • config-auto-stats - Enable auto create/update statistics
  • config-page-verify - Use CHECKSUM for page verification
  • config-recovery-model - Choose appropriate recovery model
  • config-tempdb - Optimize tempdb configuration
  • config-accelerated-recovery - Enable Accelerated Database Recovery

9. Data Modeling (MEDIUM)

  • model-normalization - Normalize appropriately (3NF minimum)
  • model-appropriate-types - Use appropriate data types
  • model-avoid-nullable - Minimize NULL columns where possible
  • model-partition-strategy - Implement partitioning for large tables
  • model-computed-columns - Use computed columns for derived values
  • model-constraint-enforcement - Use constraints for data integrity
  • model-hierarchical-pk - Use hierarchical partition keys for scale
  • model-temporal-tables - Use temporal tables for audit trails
  • model-json-columns - Use JSON columns judiciously

10. Monitoring & Diagnostics (LOW-MEDIUM)

  • monitor-query-performance-insight - Use Query Performance Insight
  • monitor-dmvs - Leverage DMVs for diagnostics
  • monitor-extended-events - Use Extended Events for tracing
  • monitor-intelligent-insights - Enable Intelligent Insights
  • monitor-resource-utilization - Track DTU/vCore usage
  • monitor-deadlock-analysis - Analyze and prevent deadlocks
  • monitor-wait-statistics - Monitor wait statistics
  • monitor-log-io - Monitor transaction log I/O

How to Use

Read individual rule files for detailed explanations and code examples:

rules/query-avoid-select-star.md
rules/index-cover-queries.md
rules/security-parameterize-queries.md
rules/tsql-code-analysis.md

Each rule file contains:

  • Brief explanation of why it matters
  • Incorrect code example with explanation
  • Correct code example with explanation
  • How to detect violations
  • References and additional context

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

Scripts

Helper scripts for automated analysis:

  • scripts/analyze-tsql.py - Analyze T-SQL files for violations (includes SSDT rules)
  • scripts/check-indexes.sql - Check for missing/unused indexes
  • scripts/security-audit.sql - Security configuration audit
  • scripts/run-assessment.ps1 - Run SQL Assessment API checks

References

  • references/sql-assessment-api.md - SQL Assessment API overview
  • references/dmv-queries.md - Useful DMV queries for diagnostics
  • references/connection-strings.md - Connection string best practices
  • references/ssdt-code-analysis.md - SSDT Code Analysis rules reference

适合场景

01

Azure 资源规划

02

云服务升级

03

基础设施检查

04

企业云环境自动化

能力概览

能力 1

整理 Azure 服务操作流程

能力 2

提示 CLI/MCP 前置条件

能力 3

辅助云资源检查和规划

能力 4

保留官方服务来源线索

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.83%
按下载量换算51

Claude

29.29%
按下载量换算44

Cursor

19.22%
按下载量换算29

Gemini CLI

9.51%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills