sql-server
SQL Server and Azure SQL Database with T-SQL, indexes, stored procedures, and performance optimization patterns. USE WHEN: user mentions "SQL Server", "T-SQL", "MSSQL", "Azure SQL", "SQL Server indexes", "stored procedures", "SQL Server performance" DO NOT USE FOR: PostgreSQL - use `postgresql`, MySQL - use `mysql`, MongoDB - use `mongodb`
DeepseekModel
官方收录技能
质量 良好 · 64
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=claude-dev-suite-claude-dev-suite-skills-databases-sql-server-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name sql-server description SQL Server and Azure SQL Database with T-SQL, indexes, stored procedures, and performance optimization patterns. USE WHEN: user mentions "SQL Server", "T-SQL", "MSSQL", "Azure SQL", "SQL Server indexes", "stored procedures", "SQL Server performance" DO NOT USE FOR: PostgreSQL - use `postgresql`, MySQL - use `mysql`, MongoDB - use `mongodb` allowed-tools Read, Grep, Glob, Write, Edit SQL Server - Quick Reference Deep Knowledge : Use mcp__documentation__fetch_docs with technology: aspnet-core for EF Core + SQL Server patterns. Common T-SQL Patterns -- Table creation CREATE TABLE Users ( Id INT IDENTITY ( 1 , 1 ) PRIMARY KEY , Name NVARCHAR( 100 ) NOT NULL , Email NVARCHAR( 255 ) NOT NULL UNIQUE , CreatedAt DATETIME2 DEFAULT GETUTCDATE(), UpdatedAt DATETIME2 NULL , IsActive BIT DEFAULT 1 ); -- Pagination (SQL Server 2012+) SELECT * FROM Users ORDER BY Name OFFSET @Skip ROWS FETCH NEXT @Take ROWS ONLY ; -- MERGE (upsert) MERGE INTO Users AS target USING ( SELECT @Email AS Email, @Name AS Name) AS source ON target.Email = source.Email WHEN MATCHED THEN UPDATE SET Name = source.Name, UpdatedAt = GETUTCDATE() WHEN NOT MATCHED THEN INSERT (Name, Email) VALUES (source.Name, source.Email); -- CTE (Common Table Expression) WITH ActiveUsers AS ( SELECT Id, Name, ROW_NUMBER () OVER ( ORDER BY CreatedAt DESC ) AS RowNum FROM Users WHERE IsActive = 1 ) SELECT * FROM ActiveUsers WHERE RowNum BETWEEN 1 AND 10 ; Indexes -- Clustered (one per table, usually PK) CREATE CLUSTERED INDEX IX_Users_Id ON Users(Id); -- Non-clustered CREATE NONCLUSTERED INDEX IX_Users_Email ON Users(Email); -- Covering index (includes extra columns) CREATE NONCLUSTERED INDEX IX_Users_Email_Include ON Users(Email) INCLUDE (Name, CreatedAt); -- Filtered index CREATE NONCLUSTERED INDEX IX_Users_Active ON Users(Email) WHERE IsActive = 1 ; -- Check missing indexes SELECT * FROM sys.dm_db_missing_index_details; Stored Procedures CREATE PROCEDURE sp_GetUsersByStatus @IsActive BIT, @PageSize INT = 10 , @PageNumber INT = 1 AS BEGIN SET NOCOUNT ON ; SELECT Id, Name, Email, CreatedAt FROM Users WHERE IsActive = @IsActive ORDER BY Name OFFSET ( @PageNumber - 1 ) * @PageSize ROWS FETCH NEXT @PageSize ROWS ONLY ; END ; Performance Tips Tip Why Use NVARCHAR over VARCHAR for Unicode Avoid encoding issues Add indexes on WHERE/JOIN columns Speed up queries Use SET NOCOUNT ON in procedures Reduce network traffic Avoid SELECT * Only fetch needed columns Use parameterized queries Prevent SQL injection, plan reuse Use DATETIME2 over DATETIME Better precision, smaller storage Query Performance Analysis -- Execution plan SET STATISTICS IO ON ; SET STATISTICS TIME ON ; -- Run your query SET STATISTICS IO OFF; SET STATISTICS TIME OFF; -- Expensive queries SELECT TOP 10 qs.total_elapsed_time / qs.execution_count AS avg_elapsed, qs.execution_count, SUBSTRING (qt.text, 1 , 200 ) AS query_text FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt ORDER BY avg_elapsed DESC ; Anti-Patterns Anti-Pattern Why It's Bad Correct Approach SELECT * Wastes I/O, breaks on schema change List specific columns Cursors for row-by-row Very slow Use set-based operations No indexes on FKs Slow JOINs Add non-clustered indexes NOLOCK everywhere Dirty reads Use proper isolation levels String concatenation in SQL SQL injection Use parameterized queries Quick Troubleshooting Issue Likely Cause Solution Slow query Missing index Check execution plan Deadlocks Conflicting locks Check sys.dm_tran_locks Timeout Long-running query Optimize or increase timeout Truncation error Column too small Check NVARCHAR length
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |