一部の SQL Server エージェント ジョブを強制終了できません。タスクの状態は引き続き実行され、コマンドは KILLED/ROLLBACK のままです。このジョブは、OLEDB リンク サーバーと Oracle を介して OSI の PI システムに対してクエリを実行します。これまでのところ、これらのジョブを強制終了する唯一の方法は、SQL サーバーを再起動することです (推奨される方法ではありません)。
5 に答える
どうやら、SQL Server ではないリンク サーバーを介して openquery を使用して、この問題を抱えている人が何人かいます。BReuter が上記の記事に投稿した回避策を再投稿します。
BReuter によって 2007 年 1 月 30 日午後 2 時 21 分に投稿 *正確な動作を経験し、環境を安定させるソフトウェアの組み合わせを見つけました。
私が見つけた3つの重要な成分がありました:
1) Microsoft OLEDB Provider for Oracle を使用するリンク サーバーがないことを確認し、代わりに Oracle Provider for Oracle を使用します (バージョン 9.2.0.4 は私が運用しているものです)。
2) リンク サーバーを "処理中" で実行させないでください。これには調査が必要でしたが、以下の手順に従って、リンク サーバーを SQL メモリ空間から実行することができます。
3) W2K3 で SQL 2005 SP1 を実行していますが、OS や DB のバージョンではなく、OLEDB プロバイダーが重要だと思います。デフォルトのセキュリティ設定は厳しすぎて、Oracle OLEDB プロバイダ (OraOLEDB) をアウトプロセスで実行できません。さらに、MS DTC のデフォルト設定では、ネットワーク通信が許可されていません。
- コントロール パネル -> 管理ツール -> コンポーネント サービス
コンポーネント サービスにドリルダウン -> コンピューター
を。[マイ コンピュータ] を右クリック -> [プロパティ]
[MSDTC] タブ -> [セキュリティ構成] ボタン (下のスクリーンショット)
を。ネットワーク DTC アクセス – チェック済み。
b. インバウンド/アウトバウンドを許可 – チェック済み。
c. 認証不要 - これは、Windows 2000 のセキュリティ設定をシミュレートします。
d. XA トランザクションを有効にします。これは、OraOLEDB プロバイダーによって実装されるトランザクションのタイプです。
[コンポーネント サービス] -> [コンピューター] -> [マイ コンピューター] -> [DCOM 構成] にドリルダウンします。
を。MSDAINITALIZE->プロパティを右クリック
[セキュリティ] タブ (下のスクリーンショット)
を。アクセス許可 -> カスタマイズ。
b. 「アクセス権限」編集ボタンを押します。
c. SQL Server サービス アカウントに「ローカル アクセス」権限を付与します。
d. 「起動とアクティベーション」について繰り返します。*
それらが大規模なトランザクションである場合、サーバーが実際にはまだロールバックを実行しているため、時間がかかる可能性があります。
私にとって、OLEDB外部リソースを強制終了しても機能せず、残念ながら、この問題を常に修正するためにSQLサーバーインスタンスを再起動する必要がありました
私の場合、オラクルのリンクサーバーまたはSharePointリストからOPENQUERYで選択しましたが、パスワードが間違っているなどの単純なエラーがあり、エラーを解決できず、サービスを再起動するまで戻ってきません