Azure でランブックを作成して、スケジュールされた間隔で sproc の実行を自動化しました。sproc の実行中にタイムアウト例外が発生します。
接続文字列の接続タイムアウト値を「0」に変更して無期限にしようとしましたが、同じ問題が再発しています。このストアド プロシージャを実行すると、ほとんど 3 分もかかりませんが、Run-book はタイムアウト例外で失敗します。
Runbook の種類: PowerShell ワークフロー Runbook
ありがとう、マノジ。
Azure でランブックを作成して、スケジュールされた間隔で sproc の実行を自動化しました。sproc の実行中にタイムアウト例外が発生します。
接続文字列の接続タイムアウト値を「0」に変更して無期限にしようとしましたが、同じ問題が再発しています。このストアド プロシージャを実行すると、ほとんど 3 分もかかりませんが、Run-book はタイムアウト例外で失敗します。
Runbook の種類: PowerShell ワークフロー Runbook
ありがとう、マノジ。
接続文字列のタイムアウトを 0 に設定すると、接続のタイムアウトにのみ影響します。つまり、データベースとの接続を確立するためにプロセスに無限の時間を与えます。コードが表示されない場合、問題はコマンドのタイムアウトにあると思われます。ストアド プロシージャが完了するまでにデフォルトの 30 秒よりも時間がかかる可能性があります。ストアド プロシージャを実行する前に、SqlCommand インスタンスに適切なタイムアウトを設定する必要があります。
# Create command with a 10 minute timeout
$DatabaseCommand = New-Object System.Data.SqlClient.SqlCommand
$DatabaseCommand.Connection = $DatabaseConnection
$DatabaseCommand.CommandTimeout = 600
$DatabaseCommand.CommandText = "..."
# Execute non query
$NonQueryResult = $DatabaseCommand.ExecuteNonQuery()