Neatbo.

用有类型的绑定诊断 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 驱动实际分别传送命令和参数。

操作步骤

  1. 粘贴原命令或选择一份本地 UTF-8 .sql 文件。
  2. 粘贴完整有类型的参数 JSON,并明确选择名称匹配方式。
  3. 生成预览,检查重复引用、缺失名称错误与未使用绑定。
  4. 复制完整诊断或保存四份输出,与真实应用日志一起保留原件。

可调选项

参数名称匹配
精确拼写 · 忽略 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 加载和最终结果发布;同步阻塞不会延长期限,输入保留供重试。
打开SQL 参数诊断展开 →