SSMSでSSISパッケージジョブを実行中にエラーが発生しました
こんにちは! "My_Package"という名前のSSISパッケージが、毎日午前5時に実行されるSSMSのジョブとしてスケジュールされています。
SQL Serverのバージョン:Microsoft SQL Server 2014 Enterprise Edition
ジョブは次のようにスクリプト化されています。
USE [msdb]
GO
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'My_Package',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'Run IS package My_Package
--DOMAIN\sqlserviceaccount',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'DOMAIN\sqlserviceaccount', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Run Package',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=4,
@on_fail_step_id=2,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'SSIS',
@command=N'/FILE "\"D:\Reports\IS_logs\My_Package.dtsx\"" /CHECKPOINTING OFF /REPORTING E',
@database_name=N'master',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Failure E-mail',
@step_id=2,
@cmdexec_success_code=0,
@on_success_action=2,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'declare @subjectLine varchar(128)
declare @messageBody varchar(4048)
declare @fileName varchar(30)
set @fileName = ''My_Package'' + cast(year(getDate()) as varchar(4))
if (month(getDate()) < 10)
begin
set @fileName = @fileName + ''0''
end
set @fileName = @fileName + cast(month(getDate()) as varchar(2))
if (day(getDate()) < 10)
begin
set @fileName = @fileName + ''0''
end
set @fileName = @fileName + cast(day(getDate()) as varchar(2)) + ''.log''
set @subjectLine = ''AMS_Clients_Package job failed on '' + @@SERVERNAME
set @messageBody = '' '' + @fileName
execute msdb..sp_send_dbmail
@PROFILE_NAME = ''mailprofile'',
@RECIPIENTS = ''[email protected]'',
@SUBJECT = @subjectLine,
@BODY = ''Check the job history for error message''',
@database_name=N'master',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'5:00AM Schedule',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20090602,
@active_end_date=99991231,
@active_start_time=50000,
@active_end_time=235959,
@schedule_uid=N'fa715710-cb0c-43a0-ad3d-dbcf9c4f5285'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO
ジョブは2015年2月11日まで問題なく機能し、その後エラーで毎日失敗し始めました:
ステップ名パッケージ実行時間00:00:01 SQL重大度0 SQLメッセージID 0オペレーターにメール
Operator Net sent
ページングされたオペレーター
試行された再試行0ユーザーとして実行されたメッセージ:DOMAIN\sqlserviceaccount。 Microsoft(R)SQL Server実行パッケージユーティリティバージョン12.0.2000.8(64ビット版)Copyright(C)Microsoft Corporation。全著作権所有。
開始:5:00:00 AM
エラー:2015-02-15 05:00:01.29
コード:0xC0014005
出典:My_Package
説明:接続マネージャー "SharePoint Credential"に指定された接続タイプ "SPCRED"は、有効な接続マネージャータイプとして認識されません。このエラーは、不明な接続タイプの接続マネージャーを作成しようとしたときに返されます。接続タイプ名のスペルを確認してください。
終了エラー
エラー:2015-02-15 05:00:01.29
コード:0xC0010018
出典:My_Package
説明:値の読み込み中にエラーが発生しました "終了エラー
エラー0xC0010014のため、パッケージ "D:\ Reports\IS_logs\My_Package.dtsx"をロードできませんでした。
説明:エラー0xC0010014により、パッケージを読み込めませんでした。「1つ以上のエラーが発生しました。このエラーの前に、エラーの詳細を説明する特定のエラーがあるはずです。このメッセージは、関数からの戻り値として使用されますエラーが発生しました。」これは、CPackage :: LoadFromXMLが失敗した場合に発生します。
出典:My_Package
開始:5:00:00 AM
終了:5:00:01 AM
経過:0.36秒。
パッケージをロードできませんでした。
ステップが失敗しました。
私はSDBAに関する知識が少ないSQLDBAです。提案してください。
パッケージ自体は失敗していません。ロードに失敗しています。パッケージまたはその構成のいずれかが変更されている必要があります。
まず、ジョブの実行を妨げているエラーは、「接続マネージャー "SharePoint Credential"に指定された接続タイプ "SPCRED"は有効な接続マネージャータイプとして認識されません。」です。 SharePointコネクタはネイティブSSISコンポーネントではありません。サードパーティのSharePointコンポーネントを再インストール、アップグレード、再ライセンス、または再構成する必要があるサーバーの変更はありましたか?
それで問題ない場合は、ジョブの実行方法を確認すると、エラーステートメント "CPackage :: LoadFromXMLが失敗しました"は、接続パラメーターがSSIS XML .configファイルから取得されていることを示しています。そのため、設定ファイルをチェックして、接続文字列に問題がなく、変更されていないことを確認する必要があります。
それでも修正されない場合は、開発環境でパッケージを開き、そこからデバッグする必要があります。 SSISパッケージのデバッグは、問題のパッケージの詳細がなければ、この説明の範囲を超えています。