同事无法查询SSISDB

问题描述 投票:2回答:3

我正在尝试授予同事访问权限,以允许他们查询SSISDB包错误。

我已经让他们使用db_datareader访问数据库(SSISDB)。在登录>属性>用户映射下。

查询对我的同事执行正常,但不会产生任何结果。

注:不是我的疑问,不久前在网上偶然发现了。但是给了我很好的结果。

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包列表和错误消息。但是,当我的同事运行时 - 输出是空白的。

任何帮助非常感谢。

sql-server ssis database-administration
3个回答
3
投票

我通过将用户添加到ssis_admin角色来解决这个问题。


3
投票

这是因为一个特殊的数据库角色:ssis_admin

USE [SSISDB]
ALTER ROLE [ssis_admin] ADD MEMBER [login_used_to_query_data]

0
投票

还有其他SSIS级别权限,我们需要提供这些权限以检查所有这些是否正常工作。并使用下面的一个并检查这是否有帮助1-运行Dcomcnfg.exe。 ... 2-在“组件服务”对话框中,展开“组件服务”>“计算机”>“我的电脑”>“DCOM配置”节点。 3-右键单击“Microsoft SQL Server Integration Services 13.0”,然后单击“属性”。

© www.soinside.com 2019 - 2024. All rights reserved.