問題タブ [sql-server-agent]
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.
sql - SQL Server ジョブ エージェントの追加 T-SQL スクリプトの問題
SQL Server 2008 Enterprise を使用しています。文字列を出力するだけの非常に単純なテスト SQL Server エージェント ジョブを作成しました。次に、ジョブを 1 日 1 回実行するスケジュールを追加します。
次に、SQL Server Management Studio => Jobs => Select the test job => Script Job as => Drop and Create To から選択します。生成されたスクリプトは次のとおりです。私の混乱は、(スクリプトの最後で) msdb.dbo.sp_add_jobschedule を呼び出すときに、@schedule_uid というこのストア プロシージャの入力パラメーターとして提供される入力パラメーターがあることですが、MSDN では、このパラメーターは出力パラメーターであり、入力パラメータではありません。なぜ間違っているのか、なぜそのような不一致なのか、考えはありますか?
ここに MSDN ページと SQL Server Management Studio から生成されたスクリプトがあります。
c# - .netからSSISタスクを実行できますか?
SSISパッケージを実行するSQLエージェントタスクをスケジュールしました。.netからSSISパッケージを実行できるようにしたい。SSISパッケージを直接実行する方法、または少なくともSSISパッケージを実行するSQLエージェントタスクを実行する方法はありますか?
それが役立つ場合は、C#で記述された.net3.5Webアプリ用です
ありがとう!
sql - ajaxを介して長時間実行されるSQLクエリの進行状況を開始および監視します
かなりの時間がかかるクエリを開始し、Ajaxを介してUIから進行状況を監視することは可能ですか?
プロセスを、すぐに実行するようにスケジュールされた「1回実行」ジョブとして開始することを検討しました。結果を一時テーブルに保存して、完了したらすぐに取得できるようにすることができます。レポートの実行時間をログに記録し、それを平均して、進行状況バーの実行時間を推定することもできます。
現在、Microsoft SQL 2005を使用していますが、必要に応じてSQL 2008、MySQLなどの他のDBMSを使用します。
sql - GUIを使用せずにSQLServerエージェントを作成するにはどうすればよいですか?
私はAngelLMSを使用しており、SQLServerプラットフォーム上に構築されています。私はその2005年を信じていますが、それについて100%確信しているわけではありません。
とにかく、多分私の擬似コードはその答えに光を当てるでしょう。また、文字列には一重引用符を使用する必要があり、連結文字は+です。
1日に2〜5回何かを実行する必要があります(頻度はまだ決定されていませんが、ポイントはわかります)。トランザクションブロック/擬似コードは次のとおりです。
データベースへの私の唯一のアクセスは、SQLコマンドを実行するテキストボックスです。テーブルの作成と削除、トランザクションブロックの実行、そして明らかに選択/挿入/更新/削除を行うことができます。エージェントを作成するためのコマンドが見つかりませんが、EnterpriseManagerまたはGUIが呼び出されているものを使用している場合の手順のみが見つかります。
また、エージェントのタイミングスケジュールを操作する方法に関するいくつかのリファレンスが役立ちます。テストするときは、15分程度ごとに実行するように設定したいと思います。
EDIT
EXEC dbo.sp_add_job @ job_name =N'test'はエラーを返しました
。ストアドプロシージャ'dbo.sp_add_job'が見つかりませんでした。
sql-server - SQL Server エージェントで DLL を使用する呼び出しでは、パッケージがインストールされているマシンではなく、呼び出し元のマシンに DLL をインストールする必要があります。
中央サーバーにインストールされ、複数の場所から呼び出される SSIS 2005 パッケージがあります。このパッケージは、スクリプト タスクを使用して、c# で作成し、中央サーバーの GAC にインストールした .NET DLL を呼び出します。パッケージがインストールされているサーバーから SSIS パッケージを呼び出すと、すべて問題ありません。
SQL Server エージェントを使用してリモート サーバーからパッケージを呼び出すと、ジョブが失敗し、DLL が見つからないことが報告されます。
何が起こっているのかをテストするために、リモート サーバーに dll をインストールしたところ、パッケージは成功しました。そのため、パッケージはあるマシンにインストールされていても、SQL Server agend を使用して別のマシンから呼び出されると、実際には呼び出し元のマシンで実行され、すべての依存関係を満たす必要があるのは呼び出し元のマシンです。
このパッケージは、多数のサーバーから呼び出されますが、その多くは制御できません。
パッケージがインストールされているマシンの GAC から DLL を呼び出すように、このパッケージをビルドまたは実行する方法をインストール、構成、コンパイル、呼び出し、またはその他の方法で実行する方法はありますか?
sql-server - ボックスにSMTPサーバーがないSQLServer2000ジョブからの通知の送信
SQLServer2000をWindows2003Serverにインストールしています。ボックスにSMTPがインストールされていないため、失敗したSQLエージェントジョブの通知を作成するときに、電子メールは送信されません。
ボックスにSMTPをインストールせずに通知を送信する方法はありますか?
sql-server - SQL Server:「エージェントジョブ」または「メンテナンスプラン」を使用して古いデータを削除する必要がありますか?
データベースで定期的に(たとえば毎週)いくつかのSQLステートメントを実行して古いデータを削除する方法を探しています。私が見る限り、これを行うには(少なくとも)2つの方法があります。
- 「メンテナンスプラン」と「T-SQLステートメントタスクの実行」を使用する
- 「SQLServerエージェントジョブ」を使用して、そのジョブの「ステップ」でステートメントを指定します
私の質問は、これら2つの可能性の違いは何であり、どちらをタスクに使用する必要があるかということです。
sql-server - SQL Server エージェント ジョブのタイムアウト
スケジュールされた SQL Server ジョブを通常よりも長く実行したばかりで、タイムアウトを設定して一定時間後にジョブを停止することもできたはずです。
私はこれについて少し盲目であるかもしれませんが、ジョブのタイムアウトを設定する方法を見つけることができないようです. 誰もそれを行う方法を知っていますか?
ありがとう
stored-procedures - SQL エージェント ジョブを使用してループ内でプロシージャを呼び出す
いくつかのデータベース テーブルのレコードをコピーおよび削除するために、SQL Enterprise Manager 2000 でジョブをまとめています。大量のコピーと削除のストアド プロシージャを直接実行しましたが、数百万行で実行されている可能性があるため、サーバーがハングします。一度に 100 程度のレコード チャンクでサービスを実行することに興味があったので、サーバーが停止することはありません (これはライブ Web データベースです)。このサービスを 1 晩に 1 回実行したいので、エージェント ジョブに入れました。実際にコピーと削除を行うストアドプロシージャへの呼び出しをループし、各呼び出しの間に「スリープ」してサーバーに追いつく時間を与える方法はありますか? WAITFOR コマンドがあることは知っていますが、これがプロセッサを保持するのか、その間に他のクエリを実行できるのかはわかりません。
ありがとう!