問題タブ [sql-agent-job]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
6755 参照

sql-server - データベース ジョブで DBCC SHRINKFILE の動作に一貫性がないのはなぜですか?

DBCC SHRINKFILE次のメッセージが表示された場合でも、ログ ファイルで手動で実行すると常に機能します。

ただし、ジョブから実行すると、ログは約 3 分の 1 の時間しか圧縮されません。それ以外の場合は、大きいままです (約 150Gb)。上記以外のエラーはありません。これは私が使用するステートメントです:

ジョブ ステップで [履歴にステップ出力を含める] を有効にしました。これが機能しない理由についてさらに情報を得るために他にできることはありますか?

編集:ログからの完全なメッセージは次のとおりです。

私はすでにユーザーをデータベースから追​​い出し、シングルユーザーモードに設定しようとしました。

0 投票する
2 に答える
4277 参照

sql-server - SQL エージェント ジョブ - キューとして実行

sp_start_job を使用して 10 個の他のジョブを呼び出す SQL Server ジョブがあります。ジョブには 10 のステップがあり、各ステップは再びサブジョブを呼び出します。

メイン ジョブを実行すると、ステップ 1 から開始され、数秒後に「正常に完了しました」と表示されます。

しかし、ジョブの実行には時間がかかり、ログ情報を確認すると、数時間後に終了するまで、10 個のステップすべてが同時に実行されていることが示されます。

私の要件は、最初にステップ 1 を終了してからステップ 2 を開始することです。

0 投票する
1 に答える
271 参照

sql-server - SQL Server エージェント ジョブが作成され、スケジュールされたときに、ジョブを初めて手動で実行する必要があるか、または自動的に開始するか

Sql Server エージェント ジョブを作成し、10 分ごとに実行するようにスケジュールしました。初めて実行するときは、スケジュールされた時間に開始する前に、ジョブを手動で 1 回実行する必要があります。基本的に、ジョブは初めてどのように実行されますか。

また、ジョブが作成されると、ジョブの所有者は無効な状態になります。これは仕事のスケジュールに影響しますか?

0 投票する
2 に答える
2564 参照

sql-server - SQL Server ジョブ (ストアド プロシージャ) トレース

問題の追跡についてあなたの提案が必要です。

早朝にデータ ロード ジョブを実行し、Excel ファイルから SQL Server 2005 db にデータをロードしています。本番サーバーでジョブを実行すると、多くの場合、タスクの完了に 2 ~ 3 時間かかります。完了するまでに合計時間の 99% を費やしている 1 つのジョブ ステップにドリルダウンできます。

ステージング環境 (復元された同じ本番データベース) でジョブ ステップ (ストアド プロシージャ) を実行するのに 9 ~ 10 分かかりますが、ジョブの一部として早朝に実行すると、本番サーバーで同じ時間がかかります。実稼働サーバーは常にジョブ ステップでスタックしていました。

まさにジョブ ステップでトレースを実行し (ジョブ ステップ内の while ループで各ユーザーに対して約 10 個のストアド プロシージャを実行)、情報を収集して問題を解決したいと考えています。

同じことを達成するために SQL Server 2005 で利用できる方法は何ですか? トレースは多くの情報を提供し、(DBA ではないので) トレース情報を分析して把握することは非常に困難になるため、これらの SP に対してのみトレースを実行し、本番サーバーで特定の期間ではなく、トレースを実行したいと考えています。問題。そのため、特定の SP のみに関する情報を収集したいと考えています。

あなたの提案を教えてください。

あなたの時間を感謝し、助けてください。

ありがとう。

0 投票する
3 に答える
2112 参照

sql-server - INSERT INTO results_table スケジュールされたジョブ内からの EXEC sproc

sproc からの結果をテーブルに挿入する 1 つのステップでスケジュールされたジョブをセットアップしようとしています。

ジョブが実行され、成功が報告されます。しかし、テーブルには何も挿入されません。SSMS から同じスクリプトを実行すると、結果が挿入されます。問題の原因は何ですか?

** 編集ジョブは sa が所有し、ステップは dbo として実行されます。履歴内のすべての実行は、正常に終了したと報告されます。ステップを変更してみました

そして、それは同様の方法で動作します

** master データベースから選択した場合にのみ発生する問題を編集します。他のテーブルからの選択は正常に機能します。

0 投票する
5 に答える
479 参照

sql-server - SQL Server - 毎日合計を自動的に計算する

テーブル内のレコード数の毎日の統計を保持する必要があります。

毎日のレコードのカウントと結果の別のテーブルへの書き込みを自動化する方法はありますか? たぶん、SQL Agent Job などを使用していますか?

SQL Server 2008 を使用しています。

ありがとうございました!

編集: 2010 年 1 月 1 日からのすべてのレコードを今日削除した場合、統計は、2010 年 1 月 1 日の時点で 500 レコードがあったことを示す必要があります。したがって、GetDate() のみを使用して合計しても機能しません。2010 年 1 月 1 日にそのメソッドで 0 レコードが取得されるためです。

0 投票する
1 に答える
64 参照

sql-server - 2つのデータベースをチェックして結果に基づいて行動するSQLServerの仕事?

異なるサーバー上の同様のデータベースにある2つのテーブルをチェックする必要があります。それらに同じ情報(またはサイズ、ハッシュ、同じかどうかをチェックするための最良の方法)が含まれている場合は、そのうちの1つで情報を削除する必要があります。毎日予定されている仕事。

これは、SQL Server Management Studio内からジョブインターフェイスのみを使用して可能ですか?

0 投票する
1 に答える
588 参照

sql-server - SQL Server 2000 で次のジョブの実行時間をランダムに設定する方法

シナリオは次のとおりです。

SQL Server 2000 にデータベースがあります。このデータベースに接続するアプリケーションは、さまざまなエラーでランダムにタイムアウトします。トレースを実行しましたが、タイムアウトの問題を特定できませんでした。奇妙なことに、トレースを実行するたびに、アプリはタイムアウトしません。

計画は、トレースを実行するジョブをセットアップすることです。これは実稼働環境であることを考慮して、あまりにも頻繁に長時間にわたってトレースを実行することは望ましくありません。したがって、アイデアは、3 分間トレースを実行することです。

ここに課題があります - 次回の実行時間を 10 分から 60 分の間でランダム化したいと考えています。msdb..sysjobschedules の next_run_time を更新しようとしましたが、効果がないようです。

何か案は?

前もって感謝します、

ラージ

0 投票する
1 に答える
911 参照

sql-server - ポーリングせずに SQL エージェントのジョブ ステータスを取得しますか?

SQL Server 'SQL Agent' がジョブ ステップ イベントで特定のコードを実行する方法を見つけようとしています。SMO を使用してコールバック メソッドを登録し、ジョブ ステップの開始時またはステータスの変更時にコードが呼び出されるようにする方法があることを期待していました。私は成功していません。ポーリングではなく、これらのイベントをプッシュする方法はありますか?

0 投票する
5 に答える
19987 参照

sql-server - SQL Server Agent - get my own job_id

Service Pack 1 がインストールされた SQL Server 2008 64 ビット Developer Edition を実行しています。SQL Server エージェント ジョブがあります。このジョブ内で、自分のジョブの job_id を取得したいと考えています。
MSDN ( http://msdn.microsoft.com/en-us/library/ms175575(v=SQL.100).aspx ) で、ジョブ ステップでのトークンの使用に関する説明を見つけることができます。うわー、素晴らしい、それが私が探しているものです!! (JOBID)を使用するだけです。
SQL Server 2005 SP1 以降、$(ESCAPE_NONE(JOBID)) のようなマクロを使用する必要があります。問題ない。
しかし、例を試してみると:


「ESCAPE_SQUOTE」付近の構文が正しくありません。(Microsoft SQL Server、エラー: 102)
さて、最初から:


「N」は、(JOBID) の NVARCHAR への暗黙的な変換を行うと思います...わかりました
、(ジョビッド)。書籍「SQL Server 2008 Administration」(168/169 ページ) には、(JOBID) の使用例もあります。

結果:
'(' 付近の構文が正しくありません。(Microsoft SQL Server、エラー: 102)
今、完全に混乱しています。どなたか、良いアドバイスや解決策を教えてください。あらゆる種類の助けをいただければ幸いです。

よろしくヘルムート