Windowsタスクスケジューラでストアドプロシージャを1時間ごとに実行するようにスケジュールを設定しようとしています(SQL Expressを使用していて、サードパーティのツールをインストールできないため)。ただし、.batファイルの実行などのさまざまな方法を試した後タスクスケジューラから、タスクスケジューラからSqlCmdユーティリティを開き、コマンドライン構文または.sqlスクリプトファイルを渡します。
私はこれができることを知っているので、それは私が見逃したものだと確信していますが、誰かがこれの経験を共有できるなら、私はそれを非常に感謝します。
どうもありがとう
SQLインスタンスの管理者である場合(SQLExpressを使用しているため、自分のコンピューターでこれを実行しようとしているため、ユーザーがSQLインスタンスの管理者である可能性が高いです)、-Eを使用しないでください。すべて無視してください。
次に、ローカルで作業している場合でもサーバーを指定します。
以下のような単純なsqlコマンドから始めます。
sqlcmd.exe -S "。" -d MY_DATABASE -Q "SELECT * FROM MY_TABLE"
MY_DATABASEとMY_TABLEをdbnameとテーブル名に置き換えます。コマンドラインから実行できることを確認してください。テーブルからデータを返す必要があります。 (コマンドラインオプションでは大文字と小文字が区別されるため、-sは-Sとは異なります)
最後に、タスクスケジューラを介してパラメータをフィードしないでください。すべてのパラメーターを指定してコマンドを.batファイルに入れ、タスクスケジューラからバッチを実行します。