使用Invoke-Sqlcmd从SQL Server拉取数据时丢失大量行
Invoke-Sqlcmd拉取SQL数据行数异常问题
使用PowerShell脚本通过Invoke-Sqlcmd从SQL Server数据仓库拉取用户名和资产列表,脚本包含约20组查询,其中一组返回结果异常:仅为SQL Server Management Studio(SSMS)中运行同一查询结果的20%左右。
已排除行数限制问题——脚本中其他针对同一数据仓库的查询可正常拉取近10000行数据,但本次查询在PowerShell中仅返回约170行,SSMS中则返回约700行。
已尝试的操作:
- 将查询嵌入脚本运行
Invoke-Sqlcmd,返回172行 - 在终端直接输出结果数组,确认丢行并非后续处理导致
- 导出结果到CSV文件,确认仍存在丢行情况
- 在ISE和VS Code中分别运行脚本,结果一致
- 移除SQL拉取后的所有代码,排除PowerShell修改数据的可能
- 移除约半数查询中的职位标题字段,PowerShell返回124行,SSMS返回381行(行数比例仍异常)
- 使用脚本输入文件运行
Invoke-Sqlcmd,结果仍存在行数不足问题
内容的提问来源于stack exchange,提问作者gunnys
相关产品推荐
相关产品推荐

