在PowerShell中执行MSSQL过程并存储输出

时间:2017-03-20 10:25:51

标签: sql-server powershell stored-procedures

我想要做的是从PowerShell执行两个存储过程并将结果保存到日志文件中。

我有两个程序,所以我可以更容易地创建一个执行这两个程序的“主”程序。

到目前为止,我能够成功执行主程序(两个子程序都运行),但只有第二个输出存储在日志文件中。

param([string]$datein="string")

$OutputFile = "C:\...\ScriptOutput.txt"

$handler = [System.Data.SqlClient.SqlInfoMessageEventHandler] {param($sender, $event) Out-File -filepath $OutputFile -inputobject $event.Message };

$SqlConnection = new-Object System.Data.SqlClient.SqlConnection("server=ServerName;database=DB;integrated security=true")
$SqlConnection.add_InfoMessage($handler); 
$SqlConnection.FireInfoMessageEventOnUserErrors = $true;
$SqlConnection.Open() | Out-Null

# Execute procedures
$cmd = new-Object System.Data.SqlClient.SqlCommand("[dbo].[tst_master]", $SqlConnection)
$cmd.CommandType = [System.Data.CommandType]'StoredProcedure'

$cmd.Parameters.Add("@date_in",$datein) | Out-Null

$cmd.ExecuteNonQuery() | Out-Null

$SqlConnection.Close()

修改

它在虚拟机上,Windows服务器2016. Powershell版本主要:5,次要:1。我正在使用MSSQL 2014。

0 个答案:

没有答案