2012-10-17 42 views
9

SQL Server 2005マシンで、毎朝(午前2時頃)実行される予定の2つのスケジュールされたジョブがあります。これらの仕事は何年もうまく働いていますが、私はこの問題を解決しなければならなかったいくつかの問題を完全に抱えています。SSIS: "指定された状態で使用するためのキーが無効です"スケジュールされたSSISパッケージのエラー

これは共通の問題であると思わ
Executed as user: [Service Acount]. ...n 9.00.4035.00 for 32-bit 
Copyright (C) Microsoft Corp 1984-2005. All rights reserved. 
    Started: 1:15:01 AM Error: 2012-10-17 01:15:03.98 
    Code: 0xC0016016 
    Source: 
     Description: Failed to decrypt protected XML node "DTS:Password" 
     with error 0x8009000B "Key not valid for use in specified state.". 
     You may not be authorized to access this information. This error 
     occurs when there is a cryptographic error. Verify that the 
     correct key is available. End Error Error: 2012-10-17 01:15:03.99 
    Code: 0xC0016016 
    Source: 
     Description: Failed to decrypt protected XML node "DTS:Password" 
     with error 0x8009000B "Key not valid for use in specified state.". 
     You may not be authorized to access this information. This error 
     occurs when there is a cryptographic error. Verify that the 
     correct key is available. End Error Error: 2012-10-17 01:15:04.01 
    Code: 0xC0016016  
Source:  
Description: Failed to ... The package execution fa... The step failed. 

、しかし、私はどちらか見つけた勧告のどれもが私のシナリオには適用されませんも:

二朝前に、私のパッケージの一つは次のエラーを報告し始めました私のインスタンスは、これが起こる他のケースの大部分と一致するようです。私の実装に関する重要な情報がここにあります。

  • このパッケージは、iSeriesシステムからSQL Server 2005データ表にデータをエクスポートしています。
  • このプロセスは正常に動作しますが、特定のテーブルエクスポートには がクラッシュし続けます。実際には、それが死ぬ前に2時間以上の間 の問題なしで実行されます。このステップで関連付けられたすべてのプロパティー を検査した後、テーブル/カラムエクスポート マッピング以外の他のテーブルエクスポートステップと比較して、このステップについては何も違いがないことがわかります。
  • パッケージProtectionLevelDontSaveSensitiveに設定され、iSeries の資格情報はSQL Serverによってアクセスされる構成ファイルに格納されます。
  • 私のマシン上でBIDSで失敗するステップを実行できます。それにもかかわらず、サーバは正確に同じ資格情報を使用していますが、サーバ上では が動作しません。
  • 私が言及したように、私は2つのパッケージを持っています。 は1つのiSeriesデータベースからデータをエクスポートし、もう1つは データを別のiSeries DBからほぼ同じ構造にエクスポートすることを除いて、実質的に同じものです。最初の パッケージは、同じiSeries資格情報を使用していても問題ありません。
  • 明らかに、私のサーバー上の何も何ヶ月も変わっていません(私が知っている)。 は昨日朝起き始めました。

ヒントや考えは非常に役立ちます。このエクスポートは非​​常に重要であり、多くのユーザー/作業者は日々の作業のためにこのデータに依存しています。

+1

サーバーに適用された更新はありますか?あなたは、BIDSから目的の場所に直接パッケージを保存しようとしましたか? – rvphx

+0

サーバー(OS)にプッシュされたアップデートはありません。 SQL Serverの更新を制御していますが、インストールされていません。また、プロジェクトをローカルマシンに構築した後、SQL Serverマシンにリモート接続し、データベースにインポートします(ファイルベースの場所ではありません)。 – RLH

+0

パッケージのインポート時に保護レベルを変更しようとしましたかSQL Serverに?パッケージをインポートするときに、そのことがうんざりになることがあります。 – rvphx

答えて

12

私はそのような応答を掲示する必要はありませんが、私は問題を解決しました。

私がこの問題を抱えていた理由は、データテーブルのフィールドの1つが不適切に定義されていたためです。この場合、それはdecimal (11, 3)と宣言され、それはdecimal (13, 3)であったはずです。値が(11, 3)の範囲に収まらないテーブルにポストされるまで、この問題は発生しませんでした。

この問題は、SSISでの私の最大の苦情の一つを強調しています。場合によっては、インターネット上で頻繁によく書かれているエラーを取得します。すべてのログを検索し、エラーメッセージが正当であるという前提で、さまざまなテストシナリオを設定しようとします。しかし、最終的に問題を解決すると、ログファイルに書き込まれるエラーメッセージとはまったく関係ありません。

この場合、上記のエラーは問題とはまったく関係ありませんでしたか?実際、この問題を見るのはとても幸運でした。 の前にSSISがこのように誤って通信しているのを見たので、私のテーブルの更新が潜在的な修正である可能性があることは分かっていました。

私は自分のサーバーに衝突宇宙からのニュートリノにこれを非難したいと思いますが、この経験から最良のテイクアウェイは、他人のアドバイスのオフに基づいて、あなたのSSISの問題を試してみて、解決することであり、しかし、彼らのアドバイスあれば問題がSSISエラーメッセージとは無関係であり、障害発生箇所に関連するすべてのトリプルチェックを行うことができます。

+2

うわー。私は決してその問題を引き起こすデータ型の問題を期待していないだろう。それはまだ私には意味をなさないが、私はこれを念頭に置いておく。あなたの発見を共有してくれてありがとう。 – rvphx

+0

rvphx:まあ、要約すると、データ型のミスマッチがこの*特定のエラーの原因であったわけではありません。代わりに、それはSSISが間違ったエラーを報告しているという事実です。なぜか分かりませんが、この正確なエラーは、SSISで何か問題が起こったときに、常に「フォールバック」と思われます。エラーを長く検索する前に、常にチェックするエラーがいくつかあります(つまり、重複したキー入力の試みでも偽のエラーが報告されます)。これはもう一つのようです。 :/ – RLH

5

私はコメントの画像を投稿できませんでしたので、回答として投稿しました。

パッケージをSQL Serverにインポートしようとすると、右クリックして "Import Package"を実行するとすぐに次のウィンドウが表示されます。

enter image description here

ウィンドウの右側にある長方形のボックスをクリックしてください。パッケージの保護レベルを変更するオプションが表示されます。 「Do not Save Sensitive」に変更し、パッケージを実行してみてください。注意すべきことは、既存のパッケージを削除してもう一度再インポートする必要があります。したがって、既存の設定に触れる前に別のマシンで試してみてください。

+0

興味深い。私は保護レベルを見ますが、私は2つの理由からそれに注意を払ったことはありません。まず、それは空白です。最初は私の初期設定を継承していると仮定していましたが、私はジョブ実行タスクからこのような設定を上書きしていると思います。次に、灰色の背景のためにフィールドが無効になっているように見えます。私はそれを変更することができます。私は今、別のテストを行っています。終了したら、このアップデートの結果を返信します。もう一日かかるかもしれない。このパッケージは実行に時間がかかり、作業が終了するとオフィス外に出る可能性があります。 – RLH

+0

あなたの助けていただきありがとうございますrvphx。残念ながら、これは私の悩みに対する解決策ではなかったので、私はあなたに答えを与えることはできません(しかし、私はあなたにアップフォートを与えることができます)。 – RLH

3

私にとっては、SSISの接続マネージャーのパスワードは保存されていませんでした。パスワードを入力 - > OK->閉じるdtsxファイル&を再度開きます。エラーは消えました。

0

これは、パッケージ内の機密パスワードを保存する最初の問題を回避するための回避策です。

FTPタスクを削除し、代わりにファイルシステムタスクを使用して、FTPサーバー上のネットワーク共有を介して同じ場所にファイルをコピーし、ftpプロトコルの使用を避けました。

また、SQL Serverストアではなくファイルシステムにパッケージを保存することができ、正常に動作しました。

うまくいけば助けてください!

3

を参照してくださいには、SQL Server Management Studioのは、問題を解決し、再起動、私は、SQL Server 2012で同じエラーメッセージに遭遇しました。問題は、数日前にSSMSが開かれている間に私のドメインパスワードが変更されたことが原因と考えられます。同様の問題が発生しても、簡単な再起動で問題が解決しない場合は、Control Panel\User Accounts\Credential Managerにキャッシュされたアカウント情報がないか再確認してください。

+0

この投稿の冒頭にもエラーメッセージが表示されていました。私の問題は、データベースセキュリティが変更され、DTSが指定された資格情報で接続できなくなったConnection Managerです。 UGH、SSIS! – RickC

関連する問題