web-dev-qa-db-ja.com

SQL Serverジョブはサーバーまたはローカルマシンで実行されますか?

SQL Serverジョブは常にサーバー上で実行されますか、それともユーザーのマシン上のEnterprise Managerから実行されるDTSパッケージのように、ローカルマシンのコンテキストで実行されますか?

問題のジョブはDTSパッケージを呼び出します。パッケージはローカルで実行すると成功します。ジョブは手動で実行するかスケジュールで実行するかにかかわらず失敗します。

1
JerryOL

SQL Serverエージェントジョブが実行されると、ワークステーションではなくSQLServerマシンで実行されます。

SQLServerでドライバーが正しくセットアップされていないようです。

64ビットマシンを使用している場合は64ビットドライバーが必要であり、神はDTSが64ビットのものを処理する方法しか知らないことに注意してください。

2
mrdenny

SQL Serverジョブは常にサーバー上で実行されますか、それとも、EnterpriseManagerから実行されるDTSパッケージ)と同様に、ローカルマシンのコンテキストで実行されますか?ユーザーのマシン?

TSQLの場合、エージェントは独自のログイン(Windows認証)を使用してから、EXECUTE AS LOGIN = 'n'コマンドを使用してユーザーをシミュレートします。他のジョブステップタイプの場合、エージェントはプロキシと資格情報を使用します。プロファイラーを使用してこれを追跡でき、WAIRFORを使用してジョブステップを実行し、sp_whoなどを使用して確認することもできます。

ジョブの所有者がsysadminでない限り、偽装は実行されません(エージェントは「自分」になります)。この出力結果は、whoami.exe(または同様のユーティリティ)から出力ファイルに「トレース」できます。

詳細については、Tibor Karasziによる SQL Serverエージェントのジョブとユーザーコンテキスト を参照してください。

2番目の部分(正確なエラーメッセージ付き)に答えるには、あなたの質問にさらに情報が必要です。

1
Kin Shah