SSISDB - 使用T-SQL

时间:2015-07-02 06:41:49

标签: sql-server deployment ssis

我正在尝试使用T-SQL将SSIS项目部署到SSISDB中。假设在部署时出现任何错误,错误消息已登录到catalog.operation_messages视图。

现在,如果我在显式SQL事务中执行相同的部署语句,并且在部署时发生任何错误,我将无法找到记录到catalog.operation_message中的错误。

实施例

BEGIN

BEGIN TRY
BEGIN TRAN TRAN1
Declare @folder_id bigint
EXEC SSISDB.catalog.create_folder @folder_name='test1', @folder_id=@folder_id OUTPUT
Select @folder_id
EXEC SSISDB.catalog.set_folder_description @folder_name='test1', @folder_description='test1'

--Deploy

DECLARE @ProjectBinary as varbinary(max)
DECLARE @operation_id as bigint
Set @ProjectBinary = (SELECT * FROM OPENROWSET(BULK 'C:\Test\MyProject.ispac', SINGLE_BLOB) as BinaryData)
Exec SSISDB.catalog.deploy_project @folder_name = 'test1', @project_name = 'ABC', @Project_Stream = @ProjectBinary, @operation_id = @operation_id out


COMMIT  TRAN TRAN1
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE()
COMMIT TRAN TRAN1
END CATCH
END

这回复我的错误信息 无法部署项目。有关更多信息,请在operation_messages视图中查询操作标识符' 34704'。

但是当我查询视图并尝试查找相同内容时,我无法找到此operation_Id记录的任何消息,是否会回滚?如果是的是哪个过程?我怎么能保留它?

帮助我理解它。

0 个答案:

没有答案