You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dbatools的Invoke-DbaQuery时查询结果被截断为90字符如何解决

解决Invoke-DbaQuery输出结果90字符截断问题的方法
  • 修改Invoke-DbaQuery自带的-MaxCharLength参数,该参数默认值为90,根据你的配置字段长度设置足够大的数值即可,示例代码:
Invoke-DbaQuery -SqlInstance "你的数据库实例" -Query "SELECT 配置内容字段 FROM 配置表" -MaxCharLength 8000 | Out-File "C:\backup\app_config.txt"
  • 若配置字段为NVARCHAR(MAX)、XML等大文本类型,可将-MaxCharLength设置为[int]::MaxValue,同时添加-As DataRow参数避免类型转换截断,示例:
Invoke-DbaQuery -SqlInstance "你的数据库实例" -Query "SELECT 配置内容字段 FROM 配置表" -MaxCharLength ([int]::MaxValue) -As DataRow | Export-Csv "C:\backup\app_config.csv" -NoTypeInformation -Encoding UTF8
  • 若使用Out-File导出时仍有截断,需额外设置-Width参数,同时调整PowerShell全局枚举限制:
# 执行查询前先运行,取消枚举截断限制
$FormatEnumerationLimit = -1
# 导出时指定足够大的宽度
Invoke-DbaQuery -SqlInstance "你的数据库实例" -Query "SELECT 配置内容字段 FROM 配置表" -MaxCharLength 100000 | Out-File "C:\backup\app_config.txt" -Width 2000

测试时可先单条查询配置字段的实际长度,再设置对应的-MaxCharLength值,避免不必要的性能损耗

内容的提问来源于stack exchange,提问作者Ken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:24:01