用有类型的绑定诊断 SQL 命令
准备完整参数绑定,逐处核对来源位置,并将诊断和两份原件一起保存。
准备命令与完整绑定
粘贴命令或选择最多一份严格 UTF-8 文件,最多 256 KiB。文件仅替换命令输入框,第二输入框仍保留有类型的参数 JSON,最多 1 MiB。原始文件名标签最多 512 UTF-8 字节,不代表操作系统允许的文件名长度。
根对象只含 parameters 数组;每项必须恰有 name、type、value。支持 Unicode 标量字符串、JSON 整数 token 表示的有符号 32 位 int、用规范十进制字符串表示且精度与小数位均不超过 38 的 decimal、严格 JSON boolean 和 null。未知类型或元数据会拒绝。
SELECT subcatId FROM EnrollmentSubCategory WHERE catid = @catId
{"parameters":[{"name":"@catId","type":"int","value":1}]}
=> SELECT subcatId FROM EnrollmentSubCategory WHERE catid = 1逐处核对真实引用
最多 1,000 个唯一绑定;名称含 @ 最多 128 个 UTF-16 单位;每个字符串值最多 65,536 UTF-8 字节。名称须是完整成熟 LOCAL_ID token,不能以 @@ 开始。默认精确匹配,可选的大小写折叠仅作用于 ASCII A–Z。
仅展开代码区完整参数 token。字符串、双引号或方括号标识符、行注释及合法嵌套块注释保持原样;@@ 系统引用保持原样并完整报告。未闭合 token、缺失绑定及解码后的重复元数据或名称会拒绝整次操作。
- 粘贴原命令或选择一份本地 UTF-8 .sql 文件。
- 粘贴完整有类型的参数 JSON,并明确选择名称匹配方式。
- 生成预览,检查重复引用、缺失名称错误与未使用绑定。
- 复制完整诊断或保存四份输出,与真实应用日志一起保留原件。
保留完整诊断
最多 100,000 个成熟 lexer token、20,000 个参数与系统引用总和。完整诊断 SQL 最多 8 MiB、完整报告最多 4 MiB;不会输出采样或截断结果。病理输入可能先达到 10 秒的一次性 Worker 期限。
每份输入最多移除一处开头 BOM 供解析,记录并在原件中保留;拒绝错误 UTF-8 与未配对代理码。页面预览前 4,000 个码点,复制与下载保留全部结果字节。
报告保留全部有类型的值、字面量、每处引用来源位置、系统引用、未使用绑定、源文件名、SHA256、字节数及匹配方式。不会连接数据库、校验 SQL 语句、分析变量声明作用域、推断数据库排序规则或模拟驱动长度与精度强制转换,也不会执行命令。诊断不能替代参数化执行。
补齐所有缺失绑定,修正重复名称、值类型、编码或未闭合 token,再重试。取消和 10 秒超时会丢弃未完成输出;可保留同一原始 File 与参数值恢复。
四份下载单独限制为 16 MiB;下载加完整复制文本合计限制为 32 MiB。即使 SQL 下载已含这段文本,完整复制文本仍额外计入。数据面板仅包含有界统计,完整匹配报告保留在 JSON 下载中。
同一个 10 秒绝对期限包含校验、读取、回调、Worker 加载和最终结果发布;同步阻塞不会延长期限,输入保留供重试。
| 文件 | 用途 |
|---|---|
| sql-diagnostic.sql | 带诊断标识的完整文本 |
| sql-parameter-report.json | 全部有类型的绑定、引用和来源身份 |
| command-original.sql | 实际采用的原 SQL 完整字节 |
| parameters-original.json | 原参数 JSON 完整字节 |
参考资料
- SQL 命令与参数分别记录
完整原问、七个回答与两条作者反馈已读。作者接受解释与分别记录的方式;浏览器意图和市场规模未知。
- Microsoft T-SQL 常量
单引号双写、Unicode 的大写 N 前缀,以及 bit 和十进制值的规范。
- ANTLR T-SQL 词法文法
固定版本的原版生成 lexer,补验 COMMENT token 的嵌套不变量与未闭合 token 回退;词法诊断不校验 SQL 语句。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
SQL 参数诊断展开将有类型的 T-SQL 参数展开为诊断文本,并核对每一处绑定。
保留原始 T-SQL 命令与有类型的参数 JSON,生成完整诊断预览及匹配报告。SQL 驱动实际分别传送命令和参数。
操作步骤
- 粘贴原命令或选择一份本地 UTF-8 .sql 文件。
- 粘贴完整有类型的参数 JSON,并明确选择名称匹配方式。
- 生成预览,检查重复引用、缺失名称错误与未使用绑定。
- 复制完整诊断或保存四份输出,与真实应用日志一起保留原件。
可调选项
- 参数名称匹配
- 精确拼写 · 忽略 ASCII 字母大小写
明确选择精确匹配或仅折叠 ASCII 字母大小写;数据库排序规则未知。
能力与限制
- 粘贴命令或选择最多一份严格 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 加载和最终结果发布;同步阻塞不会延长期限,输入保留供重试。