SQL 参数诊断展开
将有类型的 T-SQL 参数展开为诊断文本,并核对每一处绑定。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
保留原始 T-SQL 命令与有类型的参数 JSON,生成完整诊断预览及匹配报告。SQL 驱动实际分别传送命令和参数。
如何使用
- 粘贴原命令或选择一份本地 UTF-8 .sql 文件。
- 粘贴完整有类型的参数 JSON,并明确选择名称匹配方式。
- 生成预览,检查重复引用、缺失名称错误与未使用绑定。
- 复制完整诊断或保存四份输出,与真实应用日志一起保留原件。
支持范围与限制
粘贴命令或选择最多一份严格 UTF-8 文件,最多 256 KiB。文件仅替换命令输入框,第二输入框仍保留有类型的参数 JSON,最多 1 MiB。原始文件名标签最多 512 UTF-8 字节,不代表操作系统允许的文件名长度。
根对象只含 parameters 数组;每项必须恰有 name、type、value。支持 Unicode 标量字符串、JSON 整数 token 表示的有符号 32 位 int、用规范十进制字符串表示且精度与小数位均不超过 38 的 decimal、严格 JSON boolean 和 null。未知类型或元数据会拒绝。
最多 1,000 个唯一绑定;名称含 @ 最多 128 个 UTF-16 单位;每个字符串值最多 65,536 UTF-8 字节。名称须是完整成熟 LOCAL_ID token,不能以 @@ 开始。默认精确匹配,可选的大小写折叠仅作用于 ASCII A–Z。
仅展开代码区完整参数 token。字符串、双引号或方括号标识符、行注释及合法嵌套块注释保持原样;@@ 系统引用保持原样并完整报告。未闭合 token、缺失绑定及解码后的重复元数据或名称会拒绝整次操作。
最多 100,000 个成熟 lexer token、20,000 个参数与系统引用总和。完整诊断 SQL 最多 8 MiB、完整报告最多 4 MiB;不会输出采样或截断结果。病理输入可能先达到 10 秒的一次性 Worker 期限。
每份输入最多移除一处开头 BOM 供解析,记录并在原件中保留;拒绝错误 UTF-8 与未配对代理码。页面预览前 4,000 个码点,复制与下载保留全部结果字节。
报告保留全部有类型的值、字面量、每处引用来源位置、系统引用、未使用绑定、源文件名、SHA256、字节数及匹配方式。不会连接数据库、校验 SQL 语句、分析变量声明作用域、推断数据库排序规则或模拟驱动长度与精度强制转换,也不会执行命令。诊断不能替代参数化执行。
四份下载单独限制为 16 MiB;下载加完整复制文本合计限制为 32 MiB。即使 SQL 下载已含这段文本,完整复制文本仍额外计入。数据面板仅包含有界统计,完整匹配报告保留在 JSON 下载中。
同一个 10 秒绝对期限包含校验、读取、回调、Worker 加载和最终结果发布;同步阻塞不会延长期限,输入保留供重试。
操作示例
示例输入
SELECT subcatId FROM EnrollmentSubCategory WHERE catid = @catId
示例参数
{"parameters":[{"name":"@catId","type":"int","value":1}]}示例输出
-- Neatbo diagnostic preview: parameters are sent separately by SQL drivers; do not execute this preview. SELECT subcatId FROM EnrollmentSubCategory WHERE catid = 1
出现问题时
补齐所有缺失绑定,修正重复名称、值类型、编码或未闭合 token,再重试。取消和 10 秒超时会丢弃未完成输出;可保留同一原始 File 与参数值恢复。
常见问题
这是数据库实际执行的 SQL 吗?
不是。这是诊断展开;驱动分别发送参数,可能按声明长度和类型转换。实际执行继续使用参数化命令;需要时应检查真实应用或服务器日志。
为什么已提供的绑定仍显示未使用?
名称可能只出现在字符串、标识符或注释中,也可能在精确匹配下大小写不同。报告完整列出代码区每处实际引用。