10

SQL Server 2005マシンに、毎朝(午前2時頃)実行するようにスケジュールされた2つのジョブがスケジュールされています。これらの仕事は(ほとんど)何年もうまく機能しており、この問題を解決しなければならないいくつかの問題がありましたが、私は完全に困惑しています。

2朝前、私のパッケージの1つが次のエラーを報告し始めました。

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システムからSQLServer2005データテーブルにデータをエクスポートしています。
  • このプロセスは正常に機能しますが、1つの特定のテーブルエクスポートでクラッシュし続けます。実際、それは死ぬ前に2時間以上問題なく動作します。このステップに関連するすべてのプロパティを調べた後、テーブル/列のエクスポートマッピングを除いて、他のテーブルエクスポートステップと比較してこのステップに違いはないことがわかります。
  • パッケージProtectionLevelはに設定されDontSaveSensitive、iSeriesクレデンシャルはSQLServerがアクセスする構成ファイルに保存されます。
  • BIDSで、自分のマシンで失敗したステップを実行できます。とにかく、サーバーはまったく同じ資格情報を使用していますが、サーバーでは機能しません。
  • 私が言ったように、私は2つのパッケージを持っています。1つは1つのiSeriesデータベースからデータをエクスポートし、もう1つは別のiSeries DBからほぼ同じ構造のデータをエクスポートすることを除いて、これらは事実上同じものです。最初のパッケージは、同じiSeriesクレデンシャルを使用していても、問題はありません。
  • 明確にするために、私のサーバーでは何ヶ月も何も変わっていません(私が知っていることです)。これは昨日の朝に起こり始めたばかりです。

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

4

6 に答える 6

14

まあ、私はそのような応答を投稿しなければならないのは嫌いですが、私は問題を解決しました。

私がこの問題を抱えた簡単な答えの理由は、データテーブルのフィールドの1つが正しく定義されていなかったためです。この場合、それはとして宣言されてdecimal (11, 3)おり、である必要がありますdecimal (13, 3)。範囲に合わない値がテーブルに投稿されるまで、この問題は発生しませんでした(11, 3)

この問題は、SSISに対する私の最大の不満の1つを浮き彫りにします。時々、インターネット上でよく文書化されているエラーが発生します。私はすべてのログを検索し、エラーメッセージが正直であると想定して、さまざまなテストシナリオを設定しようとしています。しかし、私が最終的に問題を解決したとき、それはログファイルに書き込まれるエラーメッセージとはまったく関係がありません。

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

これを私のサーバーに衝突する宇宙からのニュートリノのせいにしたいのですが、この経験からの最善の持ち帰りは、他の人のアドバイスに基づいてSSISの問題を解決しようとすることですが、彼らのアドバイスが役に立たない場合は、この問題はSSISエラーメッセージとは関係がない可能性があり、障害点に関連するすべてをトリプルチェックします。

于 2012-10-18T14:16:34.477 に答える
5

コメントに画像を投稿できなかったので、回答として投稿しました。

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

ここに画像の説明を入力してください

ウィンドウの右側にある長方形のボックスをクリックします。パッケージの保護レベルを変更するオプションが提供されます。「機密性の高いものを保存しない」に変更して、パッケージを実行してみてください。注意点として、これには既存のパッケージを削除してから再度インポートする必要があります。したがって、既存の構成に触れる前に、別のマシンで試してみることをお勧めします。

于 2012-10-17T18:23:18.917 に答える
4

私にとっては、保存されなかったのはSSISの接続マネージャーのパスワードだけでした。パスワードを入力->OK->dtsxファイルを閉じて再度開きます。エラーがなくなりました。

于 2014-01-16T12:52:25.657 に答える
3

SQL Server 2012で同じエラーメッセージが表示されました。私にとっては、SQL ServerManagementStudioを再起動すると問題が解決しました。この問題は、SSMSが開いている数日前にドメインパスワードが変更されたことが原因である可能性があります。同様の問題が発生し、単純な再起動でも解決しない場合はControl Panel\User Accounts\Credential Manager、キャッシュされたアカウント情報を確認するか、再起動してみてください。

于 2015-10-07T17:25:06.627 に答える
1

パッケージdtsxを開き、プロパティセットProtectionLevel EncryptSensitiveWithPasswordに移動して、パスワードを入力します。パッケージフォームのSQLサーバージョブを同じパスワードで接続します。

http://support.microsoft.com/kb/918760およびhttp://www.mssqltips.com/sqlservertip/2091/securing-your-ssis-packages-using-package-protection-level/を参照してください。

于 2015-03-04T19:47:45.873 に答える
0

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

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

パッケージをSQLサーバーストアではなくファイルシステムに保存することもでき、正常に実行されました。

うまくいけば、それはあなたを助けます!

于 2014-11-05T17:30:30.360 に答える