問題タブ [sql-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 エージェント ログオン - 何が起こっていますか?
SQL エージェント ジョブから呼び出される DTSX パッケージがあります。
DTSX パッケージは、固定の場所 (e:\mssql\myfile.txt など) にあるファイルを参照します。
ほとんどのマシンにはこの場所が存在しますが、一部のマシンではこれを手動でマッピングする必要があります (これは問題ではありません - パッケージ構成を使用してファイルの場所を動的に取得する方が良いことはわかっていますが、ここではオプションではありません -とにかく何が起こっているのか理解したい)
特定のユーザー (例: myuser )として実行するようにエージェント サービスをセットアップしました。
このユーザーとしてログオンしてディレクトリをマップし、dtsx パッケージを直接実行すると、すべてうまくいきます。
SQL エージェント ジョブを使用してパッケージを実行すると、ファイルが見つかりません。ドライブをマップするエージェント ジョブにコマンド ライン ジョブ ステップを追加すると、次のようになります。
次に、すべての作品ファイルも。
では、バックグラウンドで何が起こっているのでしょうか? このユーザーとしてログインしている場合でも、SQL エージェント ユーザーがドライブ マッピングを要求するのはなぜですか。
sql-server-2005 - SSISDTSパッケージフラットファイルエラー-「接続で指定されたファイル名が無効でした」
共有でホストされているファイルを読み取り、その内容をデータベーステーブルにインポートしようとしている非常に基本的なSSISパッケージがあります。SSIS内で手動で実行すると、パッケージは正常に実行されます。ただし、SQLエージェントジョブを設定して実行しようとすると、次のエラーが発生します。
ユーザーとして実行:DOMAIN\UserName。Microsoft(R)SQL Server Execute Package Utilityバージョン9.00.3042.00(64ビット用)Copyright(C)MicrosoftCorp1984-2005。全著作権所有。
開始:10:14:17 AMエラー:2010-05-03 10:14:17.75コード:0xC001401Eソース:DataImport接続マネージャー "Data File Local"
説明:ファイル名 "\ 10.1.1.159 \ llpf \ datafile.dat"接続で指定されたものが無効でした。終了エラーエラー:2010-05-03 10:14:17.75コード:0xC001401D
ソース:DataAnimalImport
説明:接続「データファイルローカル」の検証に失敗しました。終了エラーDTExec:パッケージの実行でDTSER_FAILURE(1)が返されました。開始:10:14:17 AM終了:10:14:17 AM経過:0.594秒。パッケージの実行に失敗しました。ステップは失敗しました。
これは、それが権限の問題であると私に信じさせますが、それを修正するために私が行ったすべての試みは失敗しました。
私がこれまでに試したこと:
SQLエージェントアカウント(DOMAIN \ SqlAgent)として実行-同じエラーが発生します。DOMAIN \ SqlAgentには、共有ファイルとアップロードされたファイルの両方に対する「フルコントロール」権限があります。
別のアカウントの資格情報(DOMAIN \ Account)を使用してプロキシアカウントを設定すると、同じエラーが発生します。上記のように、「フルコントロール」権限がそのアカウントへの共有に対して与えられました。
「全員」に共有に対するフルコントロールのアクセス許可を与えました(一時的に!)。同じエラーが発生しました。
ファイルをローカルパスに手動でコピーし、SQLエージェントアカウントでテストしました。正しく動作しました。
最初にリモートでホストされているファイルをローカルパスにコピーし、次にDTSパッケージにローカルファイルを参照させるActiveXスクリプトタスクを追加しました。スクリプトを実行しようとすると、(SSIS標準でも)完全に説明のつかないエラーが発生しました。
自分の個人アカウントの資格情報を使用してプロキシアカウントを設定します-正しく機能しました。ただし、私のアカウントにはパスワードポリシーが設定されているため、これは許容できる解決策ではありません。また、一般的にこのように設定するのは悪い習慣です。
何か案は?私はまだそれが許可の問題であると確信しています。しかし、私がさまざまな検索から読んだことは、多かれ少なかれ、共有に対する実行アカウントのアクセス許可を与えることは機能するはずだと言っています。ただし、ここではそうではありません(共有にアクセス許可を設定しているときに、あいまいなものが欠落している場合を除きます)。
vbscript - CopyFileで拒否されたVBScriptアクセス許可
SQL AgentでVBScriptを実行していますが、34行目(最初のコピー試行)に「PermissionDenied」が表示されます。このスクリプトをSQLエージェントの外部で問題なく実行しました
参考:「X:\」ドライブはSharePointフォルダーにマップされます。これが原因かもしれません。
sql-server - リモート2005サーバー上のSQLエージェントジョブから2008サーバー上のSSISパッケージを呼び出します
SSIS パッケージをリモートで実行しようとして失敗しました。パッケージは SQL Server 2008 インスタンス上にあり、2005 サーバー上のジョブから呼び出したいと考えています。私が得ているエラーは次のとおりです。
パッケージを読み込めませんでした。ステップは失敗しました。
2008 年から 2008 年に行っても、エラーはありません。何か案は?
sql-server - リモートサーバー上の別のジョブからSQLエージェントジョブを呼び出しますか?
リンクサーバーを使用せずに、リモートサーバー上の別のジョブからのジョブをトリガーする方法はありますか?
理由は、トリガーされたジョブが2008年にSSISパッケージを実行するためです。呼び出し元のジョブは2005サーバーに存在するため、ジョブを直接実行することはできません。
サーバーはリンクされておらず、一方を他方から呼び出す方法があることを望んでいました。
sql-server - ms sql データベースでの定期的な書き込みタイムスタンプの実装
仕事:
タイムスタンプを MS SQL データベース テーブルに毎秒書き込みます。
ソリューション:
- スケジュールによってタイムスタンプを書き込む外部アプリケーション (SQL エージェントなど)。
- 無限ループでタイムスタンプを書き込むストアド プロシージャ。
質問。
- どのソリューションが最適ですか?
- ストアド プロシージャで無限ループを実行することの欠点はありますか?
- サーバーの再起動後にストアドプロシージャを開始する方法は?
- 他の解決策はありますか?
sql-server - ポーリングせずに SQL エージェントのジョブ ステータスを取得しますか?
SQL Server 'SQL Agent' がジョブ ステップ イベントで特定のコードを実行する方法を見つけようとしています。SMO を使用してコールバック メソッドを登録し、ジョブ ステップの開始時またはステータスの変更時にコードが呼び出されるようにする方法があることを期待していました。私は成功していません。ポーリングではなく、これらのイベントをプッシュする方法はありますか?
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)
今、完全に混乱しています。どなたか、良いアドバイスや解決策を教えてください。あらゆる種類の助けをいただければ幸いです。
よろしくヘルムート
sql-server - SQL エージェント SSIS パッケージを管理者として実行
SSIS ファイルのステップで SQL エージェント ジョブを実行しようとしていますが、このステップを管理者として実行する必要があります。
My Package は Script タスクを使用してファイルをダウンロードします。ブラウザはWATINを使用します。
このブラウザー コントロールでは、スレッドをシングル スレッド アパートメントとして設定する必要があるため、スレッドを使用してこのブラウザーを起動しています。
このブラウザ コントロールは、管理者として実行する必要があります。
Proxy SSISアカウントである Windows Admin であるユーザーの資格情報を既に作成しています。(SQL エージェント ユーザーは Windows 管理者ではありません)。
ただし、SSIS パッケージはまだ管理者として実行されていません。これはUACに関連していると思われます。
いくつかの詳細:
- SQL エージェント アカウントは Windows 管理者ではありません
- Windows Server 2008 R2 の使用
- My Package はファイル システムから実行されます。
- パッケージは、管理者として実行した場合にのみ BIDS で動作します (そうでない場合、管理者は動作しません)。
- ジョブ ステップが実行するように構成されているプロキシ アカウントは、Windows 管理者です。
どんな助けでも大歓迎です!
sql - SQLエージェント-メールエラー5.7.1クライアントにはこの送信者として送信する権限がありません
そこで、最近、次のサーバーを使用してラボ環境全体を構成しました。
ドメイン:mytekkilab.com
サーバー1:DC-08-01サーバー2:SQL-03-01サーバー3:MAIL-08-01サーバー4:TS-08-01サーバー5:WS-08-01
私のターミナルサーバー(TS-08-01)には、ユーザーsqlagent@mytekkilab.comでOutlookが構成されたMicrosoftOfficeがインストールされています。Exchangeサーバー(2007 SP3 --MAIL-08-01)から正常に電子メールを送受信します。問題はSQLエージェントデータベースメールにあります。sqlagentを使用してプロファイルとアカウントを構成する場合。テスト電子メールを送信して、SQLサーバーのメールログで次の行を取得しようとしています。
04/21/2011 11:22:05、、Error、23、メールサーバーに障害が発生したため、受信者にメールを送信できませんでした。(アカウント2(2011-04-21T11:22:05)を使用してメールを送信します。例外メッセージ:メールサーバーにメールを送信できません。(メールボックスを使用できません。サーバーの応答は次のとおりです。5.7.1クライアントにはこの送信者として送信する権限がありません)。)、256,10、、2011年4月21日11:22:05 AM、sa
私は過去2.5時間調査を行ってきましたが、この問題の解決策を見つけることができないようです。よろしければお知らせください。ここでも、smtpはこのユーザーのどこでも機能します。OWA、Outlook、コマンドSMTPなど...
よろしくお願いします!-マイクD