Bonjour,
lorsque j'exécute la procédure stockée qui suit avec des droits "sysadmin" j'obtiens un résultat en revanche si le USER n'a que les droits :
- SELECT
- VIEW DEFINITION
- EXECUTE de la procédure stockée
Je n'obtiens rien, pas une erreur rien.
Quelqu'un peut il m'aider sur ce point ? Merci par avance.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
USE [master]
GO
 
/****** Object:  StoredProcedure [dbo].[sp_MonitorJobs]    Script Date: 10/25/2017 16:43:11 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
 
-- =============================================
-- Author:		CHARPENTIER Thierry
-- Create date: 24.10.2017
-- Description:	
-- =============================================
CREATE PROCEDURE [dbo].[sp_MonitorJobs]
AS
BEGIN
	SET NOCOUNT ON
	DECLARE @SQL NVARCHAR(4000)
	-- Obtenir des informations depuis sp_help_job
	SET @SQL='SELECT CONVERT(VARCHAR(20),SERVERPROPERTY(''ServerName'')) AS ServerName
				,j.name AS job_name
				,CASE j.enabled
					WHEN 1 THEN ''Enabled''
					ELSE ''Disabled''
				END AS job_status
				,CASE jh.run_status 
					WHEN 0 THEN ''Failed''
					WHEN 1 THEN ''Succeeded''
					WHEN 2 THEN ''Retry''
					WHEN 3 THEN ''Cancelled''
					WHEN 4 THEN ''In Progress''
					ELSE ''Unknown''
				END AS last_run_status
				,ja.run_requested_date AS last_run_date
				,CONVERT(VARCHAR(10),CONVERT(DATETIME,RTRIM(19000101))
					+ (jh.run_duration * 9 
					+ jh.run_duration % 10000 * 6 
					+ jh.run_duration % 100 * 10) / 216e4,108) AS run_duration
				,ja.run_requested_date AS last_run_date
				,CONVERT(VARCHAR(500), jh.message) AS step_description
			FROM (msdb.dbo.sysjobactivity AS ja 
				LEFT JOIN msdb.dbo.sysjobhistory AS jh ON ja.job_history_id = jh.instance_id) 
				JOIN msdb.dbo.sysjobs_view AS j ON ja.job_id = j.job_id
			WHERE ja.session_id=(SELECT MAX(session_id) FROM msdb.dbo.sysjobactivity)
				AND j.enabled = 1
			ORDER BY job_name,job_status'
	EXECUTE sp_executesql @SQL
END
GO