web-dev-qa-db-ja.com

エージェントジョブをバックアップする方法はありますか?

SQL Serverのエージェントジョブをバックアップできるかどうかに関するドキュメントが見つかりません。そうでない場合、インスタンスに障害が発生した場合に将来のリカバリ中に復元するために、それらをどのようにバックアップできますか?

5
igelr

SQLエージェントジョブはシステムmsdbデータベースに格納されるため、そのデータベースをバックアップすることで必要なことが実行されます。

災害時には、msdbデータベース全体を復元するか、必要に応じて、復元されたmsdbのコピーからindividualジョブを復元できます。

Serverfault:MSDBバックアップから特定のジョブ定義を回復していますか?

ジョブをすぐに使用できる形式にしたい場合は、右クリックして個々のジョブを手動でスクリプト化するか、サーバー上のすべてのジョブを一度にスクリプト化することができます。

スタックオーバーフロー:すべてのSQL Serverジョブのスクリプトを自動的に作成

9
BradC

別の方法は dbatools を使用してファイルにエクスポートすることです

Get-DbaAgentJob -SqlInstance workstation\sql2016 |  Export-DbaScript

災害復旧目的 の場合、エージェントジョブ、オペレーター、ログインなどを含むインスタンス全体またはサブセット全体をスクリプト化することもできます。

編集:上記は、不要なジョブを除外する柔軟性があります。 msdbのバックアップ/復元はすべてのジョブです。

6
Kin Shah

これは古い質問ですが既に回答済みですが、フォルダJOBSを選択した状態でF7キーを押すことができます。次に、すべてのジョブを選択して右クリックし、script jobs as > create。すべてのジョブのスクリプトを作成します。

1
Racer SQL