【问题标题】:How may I export the output of SQL query in Excel fetched through PowerShell?如何在 Excel 中导出通过 PowerShell 获取的 SQL 查询的输出?
【发布时间】:2021-01-09 21:35:49
【问题描述】:

我正在使用这个 power-shell 脚本来获取列表中所有 SQL Server 的版本。

如何在脚本运行后将结果列(仅查询输出而不是错误消息)导出到 excel 并发送到电子邮件?

有人可以帮我添加所需的脚本吗?

Import-Module SQLPS -DisableNameChecking
$ServerInstences = Get-Content "D:\DBA\All_Server_monitoring\ServerList.txt"
$SQLQuery = @"
Select @@Servername 'Server Name' ,@@version 'Version'
"@
 $DBName = "master"
 $ServerInstences |

ForEach-Object {
    $ServerObject = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $_
    Invoke-Sqlcmd -ServerInstance $_ -Database $DBName -Query $SQLQuery
}

【问题讨论】:

    标签: sql-server powershell


    【解决方案1】:

    将数据导出到 csv 文件的最简单方法是使用Export-CSV,它接受输入对象(或对象数组)和路径,并可以从该对象/数组填写 csv 文件。对你来说,它看起来像这样:

    $results = Invoke-Sqlcmd -ServerInstance $_ -Database $DBName -Query $SQLQuery
    New-Item -Path "MYPATH.csv"
    Export-CSV -Path "MYPATH.csv" -InputObject $results -Append
    

    CSV 文件用途广泛,可以使用最轻量级的文本编辑器打开。它们还可以通过电子邮件轻松发送并使用 Excel 打开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多