同事无法查询SSISDB
Colleague can't query SSISDB
我正在尝试向一位同事授予访问权限,以允许他们查询 SSISDB 包错误。
我已经授予他们使用 db_datareader 访问数据库 (SSISDB) 的权限。在“登录”>“属性”>“用户映射”下。
我同事的查询执行得很好,但没有产生任何结果。
n.b。不是我的查询,前一段时间在网上偶然发现了这个。但是给了我很好的结果。
USE SSISDB;
GO
SELECT TOP 1000 [execution_id]
,[folder_name]
,[project_name]
,ex.[package_name]
,MESSAGE
,[project_lsn]
,[executed_as_name]
,[use32bitruntime]
,[status]
,CASE [status]
WHEN 1 THEN 'Created'
WHEN 2 THEN 'Running'
WHEN 3 THEN 'Canceled'
WHEN 4 THEN 'Failed'
WHEN 5 THEN 'Pending'
WHEN 6 THEN 'Ended unexpectedly'
WHEN 7 THEN 'Succeeded'
WHEN 8 THEN 'Stopping'
WHEN 9 THEN 'Completed'
ELSE 'ADDITIONAL VALUE - PLEASE CHECK CASE STATEMENT'
END StatusDescription
,[start_time]
,[end_time]
,[caller_name]
,[process_id]
,[stopped_by_sid]
,[stopped_by_name]
,[server_name]
FROM [SSISDB].[catalog].[executions] ex
LEFT OUTER JOIN SSISDB.catalog.event_messages em
ON em.operation_id = ex.execution_id
AND event_name NOT LIKE '%Validate%'
AND MESSAGE LIKE '%An error occurred%'
where start_time > GETDATE() - 7 --last weeks errors
AND status not in (2, 7, 9)
order by [execution_id] desc
当我 运行 这样做时,我得到了失败的 SSIS 包列表和错误消息。但是,当我的同事 运行 执行此操作时 - 输出为空白。
非常感谢任何帮助。
我通过将用户添加到 ssis_admin 角色来解决这个问题。
这是因为一个特殊的数据库角色:ssis_admin
USE [SSISDB]
ALTER ROLE [ssis_admin] ADD MEMBER [login_used_to_query_data]
我们需要授予其他 SSIS 级别的权限,以检查所有权限是否正常。
并使用下面的并检查这是否有帮助
1- 运行 Dcomcnfg.exe。 ...
2- 在“组件服务”对话框中,展开“组件服务”>“计算机”>“我的电脑”>“DCOM 配置”节点。
3- 右键单击 Microsoft SQL Server Integration Services 13.0,然后单击属性。
我正在尝试向一位同事授予访问权限,以允许他们查询 SSISDB 包错误。
我已经授予他们使用 db_datareader 访问数据库 (SSISDB) 的权限。在“登录”>“属性”>“用户映射”下。
我同事的查询执行得很好,但没有产生任何结果。
n.b。不是我的查询,前一段时间在网上偶然发现了这个。但是给了我很好的结果。
USE SSISDB;
GO
SELECT TOP 1000 [execution_id]
,[folder_name]
,[project_name]
,ex.[package_name]
,MESSAGE
,[project_lsn]
,[executed_as_name]
,[use32bitruntime]
,[status]
,CASE [status]
WHEN 1 THEN 'Created'
WHEN 2 THEN 'Running'
WHEN 3 THEN 'Canceled'
WHEN 4 THEN 'Failed'
WHEN 5 THEN 'Pending'
WHEN 6 THEN 'Ended unexpectedly'
WHEN 7 THEN 'Succeeded'
WHEN 8 THEN 'Stopping'
WHEN 9 THEN 'Completed'
ELSE 'ADDITIONAL VALUE - PLEASE CHECK CASE STATEMENT'
END StatusDescription
,[start_time]
,[end_time]
,[caller_name]
,[process_id]
,[stopped_by_sid]
,[stopped_by_name]
,[server_name]
FROM [SSISDB].[catalog].[executions] ex
LEFT OUTER JOIN SSISDB.catalog.event_messages em
ON em.operation_id = ex.execution_id
AND event_name NOT LIKE '%Validate%'
AND MESSAGE LIKE '%An error occurred%'
where start_time > GETDATE() - 7 --last weeks errors
AND status not in (2, 7, 9)
order by [execution_id] desc
当我 运行 这样做时,我得到了失败的 SSIS 包列表和错误消息。但是,当我的同事 运行 执行此操作时 - 输出为空白。
非常感谢任何帮助。
我通过将用户添加到 ssis_admin 角色来解决这个问题。
这是因为一个特殊的数据库角色:ssis_admin
USE [SSISDB]
ALTER ROLE [ssis_admin] ADD MEMBER [login_used_to_query_data]
我们需要授予其他 SSIS 级别的权限,以检查所有权限是否正常。 并使用下面的并检查这是否有帮助 1- 运行 Dcomcnfg.exe。 ... 2- 在“组件服务”对话框中,展开“组件服务”>“计算机”>“我的电脑”>“DCOM 配置”节点。 3- 右键单击 Microsoft SQL Server Integration Services 13.0,然后单击属性。