Agent Skills
返回列表
SQL Server 只读连接助手

SQL Server 只读连接助手

数据分析 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装规范名 @user_91acba48/sql-server-connection 的 SQL Server 只读连接技能到当前 AI 助手,用于后续执行数据库查询与故障排查任务。

技能介绍

连接 SQL Server 业务库的常见痛点

当需要从 MES、ERP 等 SQL Server 业务库取数时,开发者常遇到连接串属性错误引发的连锁报错,比如把超时属性写成 Timeout=10 导致驱动解析失败,连带出现 18456(登录被拒)或 4060(无法打开库)等迷惑性错误。另外,只读权限配置不当可能带来数据安全风险,而登录名拼写差异、端口与版本号混淆等问题也会拖慢排查进度。

技能核心能力与工作步骤

这个技能聚焦最小权限 + 环境兼容的只读连接方案,核心步骤包括:

  • 前置环境自检:验证系统是否安装 ODBC Driver 17 for SQL Server(或旧版 Native Client 11.0),检查 pyodbc 包是否可用,确认本机 TCP 能到达服务器默认端口 1433。
  • 分阶段连接测试:通过模板脚本先连 master 库验证登录状态,再连接目标库;若遇 4060 错误,自动列出当前账号可访问的数据库,方便定位映射问题。
  • 安全权限配置:指导创建仅含 public 服务器角色和 db_datareader 数据库角色的只读账号,禁止勾选 db_datawriter 或 db_owner,避免赋予写权限。
  • 脚本模板支持:提供参数化脚本 connect_template.py,支持自定义查询、列出前 20 张表、导出 CSV,密码通过环境变量 DB_PWD 或交互输入,避免硬编码。

适用边界与注意事项

  • 仅适用于 SQL Server 数据库,且优先处理只读查询需求,除非用户明确要求,不涉及写操作。
  • 连接串属性必须符合 ODBC 规范,如超时需用 Login Timeout 而非 Timeout,加密属性避免使用 Mandatory。
  • 凭据仅用于当前连接,不写入持久化文件;需确保账号在目标库有正确映射,避免因库名拼写或实例错误导致连接失败。

使用场景

  • 数据分析师需要连接MES系统提取生产数据生成CSV报表,要求账号仅限查询且无法修改或删除业务库中的任何记录。
  • 运维人员排查pyodbc连接报错时,需通过模板分阶段测试先连master验证登录,再定位目标库4060错误的具体原因。
  • 业务开发者在连接SQL Server 2008 R2时遇到TLS协议不兼容,需要使用标准连接串配置TrustServerCertificate并排查无效属性。
  • 数据工程师需要探查ERP数据库的表结构并导出部分数据进行分析,要求脚本支持参数化配置且密码不能硬编码在代码中。

适合人员

  • 后端开发工程师:需要在项目中集成SQL Server数据查询功能,要求确保数据库连接安全且账号权限严格限制为只读。
  • 数据分析师:负责从MES或ERP业务库提取数据制作报表,诉求是能快速排查ODBC驱动或连接串导致的取数失败问题。
  • 数据库运维人员:负责维护企业SQL Server实例,诉求是通过分阶段连接测试和错误排查模板快速定位18456或4060等连接故障。