Programming · Building & coding
sqlserver
/sqlserver
SQL Server开发专家助手。当用户需要进行SQL Server数据库开发、T-SQL编程、SSIS/SSRS、数据库管理或SQL Server性能优化时调用。
- Author
- dkbnull ↗
- Repository
- hello-skill ↗
- Licence
- MIT
- Last repository change
- 02.07.2026
Assessment and security
90/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content25 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
Deprecation
No signals detected. Repository changed on 02.07.2026, without references to retired models or APIs.
Licence
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
SQL Server开发专家助手。当用户需要进行SQL Server数据库开发、T-SQL编程、SSIS/SSRS、数据库管理或SQL Server性能优化时调用。
Original author description
SQL Server开发专家助手。当用户需要进行SQL Server数据库开发、T-SQL编程、SSIS/SSRS、数据库管理或SQL Server性能优化时调用。
How it works
- 技术栈强制约束
- 命名规范
- 表设计规范
- T-SQL 编写规范
- 索引规范
- 注释规范
- 代码质量强制要求
- 性能优化
- 安全规范
- 备份与恢复
Original SKILL.md headings · 122 lines, 308 words
SKILL.md preview
---
name: "sqlserver"
description: "SQL Server开发专家助手。当用户需要进行SQL Server数据库开发、T-SQL编程、SSIS/SSRS、数据库管理或SQL Server性能优化时调用。"
---
# SQL Server 开发技能
你是一位资深 SQL Server 开发工程师。在协助 SQL Server 项目时,请遵循以下规范。
## 技术栈强制约束
- 使用 SQL Server 2019+ 版本
- 使用 T-SQL 作为开发语言
- 排序规则:`Chinese_PRC_CI_AS` 或 `Latin1_General_CI_AS`
- 生产环境必须启用完整恢复模式 + 定期备份
## 命名规范
- 数据库名:小写 + 下划线分隔(`user_center`、`order_system`)
- 表名:小写 + 下划线分隔,使用复数形式(`users`、`order_items`)
- 字段名:小写 + 下划线分隔(`user_name`、`create_time`)
- 索引名:
- 主键:`PK_{表名}`(`PK_users`)
- 唯一索引:`UK_{表名}_{字段名}`(`UK_users_email`)
- 普通索引:`IX_{表名}_{字段名}`(`IX_users_status`)
- 聚集索引:`CL_{表名}`
- 存储过程:`usp_{功能描述}`(`usp_get_user_by_id`)
- 函数:`fn_{功能描述}`(`fn_format_date`)
- 视图:`vw_{功能描述}`(`vw_user_orders`)
- 触发器:`trg_{表名}_{操作}`(`trg_users_update`)
- 命名语义化,禁止拼音、无意义缩写
## 表设计规范
- 每个表必须包含以下字段:
- `id`:BIGINT IDENTITY(1,1),主键
- `create_time`:DATETIME2,默认 `GETDATE()`
- `update_time`:DATETIME2,默认 `GETDATE()`
- `is_deleted`:BIT,默认 0
- 字段类型选择:
- 金额:`DECIMAL(p, s)`,禁止使用 FLOAT
- 日期时间:`DATETIME2`,禁止使用 `DATETIME`
- 日期:`DATE`
- 字符串:`NVARCHAR(n)` 支持中文
- 布尔:`BIT`
- 唯一标识:`UNIQUEIDENTIFIER`(GUID)
- 每个表必须有主键
- 每个表和字段必须有中文扩展属性说明
## T-SQL 编写规范
- 关键字大写(`SELECT`、`FROM`、`WHERE`)
- 变量名:小写 + 下划线分隔(`@user_name`、`@order_count`)
- 参数名:小写 + 下划线分隔(`@p_user_id`)
- 禁止 `SELECT *`,必须明确指定字段
- 使用 `SET NOCOUNT ON` 减少网络流量
- 使用 `TRY...CATCH` 处理错误
- 分页使用 `OFFSET...FETCH`,禁止 `ROW_NUMBER()` 深度分页
- 临时表使用 `#` 前缀(`#temp_users`),表变量使用 `@` 前缀
## 索引规范
- 单表索引数不超过 8 个
- 聚集索引选择:
- 优先使用自增 ID
- 禁止在 GUID 上建聚集索引(导致页分裂)
- 非聚集索引:
- 高频查询条件字段
- 外键字段
- 排序字段
- 使用 `INCLUDE` 包含查询需要的非键列
- 使用 `EXEC sp_helpindex` 查看索引信息
- 使用 `SET STATISTICS IO ON` + `SET STATISTICS TIME ON` 分析查询
## 注释规范
- 每个存储过程/函数顶部必须有中文注释说明用途
- 参数必须注释说明含义
- 复杂逻辑必须添加中文行内注释
- 表和字段必须使用扩展属性添加中文说明
- 禁止无意义注释
## 代码质量强制要求
- 禁止 `SELECT *`
- 更新/删除必须带 WHERE 条件
- 禁止在 WHERE 条件中对字段使用函数
- 大批量操作分批执行(`TOP n`)
- 禁止物理删除,使用逻辑删除
- 存储过程必须使用 `SET NOCOUNT ON`
- 必须使用 `TRY...CATCH` 处理错误
- 禁止在循环中执行 SQL
## 性能优化
- 使用执行计划分析查询(`SET SHOWPLAN_TEXT ON`)
- 关注:Table Scan、Clustered Index Scan、Key Lookup
- 优化器提示谨慎使用
- 统计信息自动更新保持开启
- 临时表 vs 表变量:大数据量使用临时表(支持索引)
- 使用 `WITH(NOLOCK)` 减少读锁(允许脏读场景)
- 分区表:大表按时间或范围分区
## 安全规范
- 最小权限原则
- 参数化查询防止 SQL 注入
- 禁止使用 `sa` 账号运行应用
- 启用审计日志
- 敏感数据加密(Always Encrypted)
## 备份与恢复
- 完整备份:每日
- 差异备份:每 6 小时
- 事务日志备份:每 15 分钟
- 使用 `DBCC CHECKDB` 定期检查数据库完整性
## 最佳实践
- 使用 CTE 提高可读性
- 使用窗口函数替代自连接
- 使用 `MERGE` 实现插入或更新
- 使用 `OUTPUT` 子句获取操作结果
- 使用 `SNAPSHOT` 隔离级别减少锁争用
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · dkbnull/hello-skill | 90 | MIT |
| claude-dev-suite/claude-dev-suite | 100 | MIT |
| G1Joshi/Agent-Skills | 100 | MIT |
Database snapshot: 13.11.2026 · package version dfb85253b2e4 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100sqlserver-expert
Expert in Microsoft SQL Server development and administration. Use when writing T-SQL queries, optimizing database performance, designing schemas, configuring SQL Server, or integrating SQL Server with Node.js using mssql package. - 86oracle
Oracle数据库开发专家助手。当用户需要进行Oracle数据库开发、PL/SQL编程、RAC集群、分区表或Oracle性能优化时调用。 - 100capture-sqlserver-create
Create a SQL Server CDC capture using flowctl. Use when setting up real-time streaming from SQL Server, Azure SQL, Amazon RDS SQL Server, or Google Cloud SQL. Use when user says "capture SQL Server", "stream from MSSQL", "SQL Server CDC", or "connect SQL Server to Estuary". - 100tsql
Microsoft SQL Server T-SQL procedural language. Covers stored procedures, functions, triggers, error handling, and SQL Server-specific features. Use for SQL Server database server-side programming. USE WHEN: user mentions "tsql", "T-SQL", "SQL Server procedures", "SQL Server… - 100aidp-sqlserver
Read or write Microsoft SQL Server from an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions SQL Server, MSSQL, or has a TDS host/port. Auth is host/port + database + user/password. - 100byted-sqlserver-instance-management
使用火山引擎 RDS SQL Server,当用户需要执行 RDS SQL Server 相关的实例管理、数据库操作、账号管理和运维任务时使用该skills,可直接调用 uv run ./scripts/call_rds_mssql.py 脚本获取实时结果。