#SQL Server
共 7 篇文章
SQL Server LEN 不计尾部空格,DATALENGTH 又返回字节数
区分 LEN 的字符计数与 DATALENGTH 的字节数;需要保留尾部空格计数时,使用查询内标记并避免有限长度拼接截断。
SQL Server STRING_AGG 超过 8000 bytes:在聚合前转换为 max 类型
SQL Server 拼接大组文本超过 8000 bytes 时,检查输入表达式决定的返回类型,在 STRING_AGG 内转换为 max,并区分显示截断。
SQL Server 创建外键时报 1785:级联路径重复到达同一张表
SQL Server 新增级联外键时报 1785,沿删除和更新方向检查重复路径,保留外键并选择 NO ACTION 或修正模型,验证业务删除语义。
pyodbc 中断查询后报 Connection is busy:检查旧游标结果
中断 SQL Server 大查询后,旧语句或未消费结果可能使同一 ODBC 连接拒绝新查询。区分结果消费、游标关闭、取消、事务结束与 MARS 的适用条件。
pyodbc 报 Login failed for user 空用户名:先检查 UID/PWD 属性
pyodbc 在证书错误之后报空用户名登录失败,核对 ODBC UID/PWD 属性、SQL 登录与 TLS 验证,避免把不同阶段的问题混在一起。
SQL Server 报 IDENTITY_INSERT OFF:普通新增不要传自增 ID
SQL Server 自增列收到显式 ID,普通新增省略该列;历史数据迁移按同一会话使用 SET IDENTITY_INSERT,并核对约束、权限和恢复。
SQL Server nvarchar 变量赋值后只剩第一个字符
DECLARE 省略 nvarchar 长度默认容量为1,CAST 的默认值却为30。明确接收长度,区分双字节单位与字符,并从完整来源重新赋值。


