2
votes

Le collègue ne peut pas interroger SSISDB

J'essaye d'accorder l'accès à un collègue pour lui permettre d'interroger sur les erreurs de paquet SSISDB.

Je leur ai donné accès à la base de données (SSISDB) avec db_datareader. Sous Connexions> Propriétés> Mappage utilisateur.

La requête s'exécute correctement pour mon collègue, mais ne produit aucun résultat.

n.b. pas ma requête, je suis tombé sur cela en ligne il y a quelque temps. Mais me donne de bons résultats.

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

Quand je lance ceci, on me donne une liste des paquets SSIS ayant échoué et les messages d'erreur. Cependant, lorsque mon collègue exécute ceci - la sortie est vide.

Toute aide très appréciée.


1 commentaires

Cette question doit être posée sur le site dba.stackexchange.com et non sur stackoverflow


3 Réponses :


3
votes

J'ai contourné ce problème en ajoutant l'utilisateur au rôle ssis_admin.


0 commentaires

3
votes

Ceci est dû à un rôle de base de données spécial: ssis_admin

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


0 commentaires

0
votes

Il existe d'autres autorisations de niveau SSIS que nous devons donner pour vérifier si tout cela fonctionne. Et utilisez celui ci-dessous et vérifiez si cela aide 1- Exécutez Dcomcnfg.exe. ... 2- Dans la boîte de dialogue Services de composants, développez le nœud Services de composants> Ordinateurs> Poste de travail> Configuration DCOM. 3- Cliquez avec le bouton droit sur Microsoft SQL Server Integration Services 13.0, puis cliquez sur Propriétés.


0 commentaires