Sono in SQL 2008/R2. Voglio eseguire una query per vedere se c'è un processo di agente SQL che chiama un proc memorizzato specificato (ce ne sono troppi da ispezionare manualmente).Come trovare tutti i processi SQL Agent che chiamano un dato stored-proc
risposta
Ecco una domanda che vi darà questo e molto altro (sguardo alla clausola di WHERE
per il nome proc memorizzato):
SELECT
[sJOB].[job_id] AS [JobID]
, [sJOB].[name] AS [JobName]
, [sJSTP].[step_uid] AS [StepID]
, [sJSTP].[step_id] AS [StepNo]
, [sJSTP].[step_name] AS [StepName]
, CASE [sJSTP].[subsystem]
WHEN 'ActiveScripting' THEN 'ActiveX Script'
WHEN 'CmdExec' THEN 'Operating system (CmdExec)'
WHEN 'PowerShell' THEN 'PowerShell'
WHEN 'Distribution' THEN 'Replication Distributor'
WHEN 'Merge' THEN 'Replication Merge'
WHEN 'QueueReader' THEN 'Replication Queue Reader'
WHEN 'Snapshot' THEN 'Replication Snapshot'
WHEN 'LogReader' THEN 'Replication Transaction-Log Reader'
WHEN 'ANALYSISCOMMAND' THEN 'SQL Server Analysis Services Command'
WHEN 'ANALYSISQUERY' THEN 'SQL Server Analysis Services Query'
WHEN 'SSIS' THEN 'SQL Server Integration Services Package'
WHEN 'TSQL' THEN 'Transact-SQL script (T-SQL)'
ELSE sJSTP.subsystem
END AS [StepType]
, [sPROX].[name] AS [RunAs]
, [sJSTP].[database_name] AS [Database]
, [sJSTP].[command] AS [ExecutableCommand]
, CASE [sJSTP].[on_success_action]
WHEN 1 THEN 'Quit the job reporting success'
WHEN 2 THEN 'Quit the job reporting failure'
WHEN 3 THEN 'Go to the next step'
WHEN 4 THEN 'Go to Step: '
+ QUOTENAME(CAST([sJSTP].[on_success_step_id] AS VARCHAR(3)))
+ ' '
+ [sOSSTP].[step_name]
END AS [OnSuccessAction]
, [sJSTP].[retry_attempts] AS [RetryAttempts]
, [sJSTP].[retry_interval] AS [RetryInterval (Minutes)]
, CASE [sJSTP].[on_fail_action]
WHEN 1 THEN 'Quit the job reporting success'
WHEN 2 THEN 'Quit the job reporting failure'
WHEN 3 THEN 'Go to the next step'
WHEN 4 THEN 'Go to Step: '
+ QUOTENAME(CAST([sJSTP].[on_fail_step_id] AS VARCHAR(3)))
+ ' '
+ [sOFSTP].[step_name]
END AS [OnFailureAction]
FROM
[msdb].[dbo].[sysjobsteps] AS [sJSTP]
INNER JOIN [msdb].[dbo].[sysjobs] AS [sJOB]
ON [sJSTP].[job_id] = [sJOB].[job_id]
LEFT JOIN [msdb].[dbo].[sysjobsteps] AS [sOSSTP]
ON [sJSTP].[job_id] = [sOSSTP].[job_id]
AND [sJSTP].[on_success_step_id] = [sOSSTP].[step_id]
LEFT JOIN [msdb].[dbo].[sysjobsteps] AS [sOFSTP]
ON [sJSTP].[job_id] = [sOFSTP].[job_id]
AND [sJSTP].[on_fail_step_id] = [sOFSTP].[step_id]
LEFT JOIN [msdb].[dbo].[sysproxies] AS [sPROX]
ON [sJSTP].[proxy_id] = [sPROX].[proxy_id]
WHERE [sJSTP].[command] LIKE '%MyStoredProc%'
ORDER BY [JobName], [StepNo]
credito dovrebbe andare l'articolo Querying SQL Server Agent Job Information da dattatreya Sindol per la maggior parte di quanto sopra query.
Ha funzionato, grazie! Mi piace che dia anche stepname ... – NealWalters
È possibile utilizzare questa query -
SELECT s.step_id,
j.[name],
s.database_name,
s.command
FROM msdb.dbo.sysjobsteps AS s
INNER JOIN msdb.dbo.sysjobs AS j ON s.job_id = j.job_id
WHERE s.command LIKE '%Stored_procedure%'
Ha funzionato, grazie! – NealWalters
Siete i benvenuti !! :) – AgentSQL
Funziona con sql server 2000 (non è un refuso), può cercare la stored procedure eseguita – sojim2
C'è un'alternativa per trovare tutte le procedure chiamate da tutti i lavori all'interno di una specifica istanza:
SELECT jss.jobname, jss.step_name, p.name FROM sys.procedures p
CROSS apply
(
SELECT j.name AS jobname, js.step_name FROM msdb.dbo.sysjobsteps js
INNER JOIN msdb.dbo.sysjobs j ON js.job_id=j.job_id
WHERE js.command LIKE '%'+p.name+'%'
) jss
- 1. Elimina tutti i processi per un dato utente
- 2. Come trovare tutti i processi figli?
- 3. Perché i thread si chiamano processi leggeri?
- 4. Come eseguire il backup dei processi di SQL Server Agent?
- 5. Altri processi chiamano GC che rallenta il mio gioco
- 6. Come eliminare tutti i processi figlio all'uscita?
- 7. SQL Server: come trovare tutti i nomi di istanza localdb
- 8. Come ottenere tutti i processi in un display da Xvfb?
- 9. Come uccidere tutti i processi con un determinato nome parziale?
- 10. Trovare processi che utilizzano ALSA suono veloce
- 11. SourceKitService che interrompe la memoria e interrompe tutti i processi
- 12. Trova tutti i processi figli del mio processo .NET/scopri se un dato processo è un mio figlio?
- 13. Trova tutti i metodi specializzati per un dato tipo
- 14. Dato molte linee orizzontali e verticali, come trovare tutti i rettangoli che contengono un sub-rettangolo al loro interno?
- 15. elencando tutti i processi in iOS 5.0.1
- 16. Mockito mock tutti i metodi chiamano e restituiscono
- 17. Pycharm: termina tutti i processi in esecuzione
- 18. query SQL per trovare i tutti i subalterni sotto un unico superiore
- 19. Come trovare i file tranne il nome dato?
- 20. T-Sql Come restituire una tabella da un storedproc in un altro processo memorizzato
- 21. ottenere la data di tutti i sabati in un dato anno - sql server
- 22. Come si elencano tutti i processi figli in python?
- 23. Come posso terminare tutti i processi di subshell?
- 24. Come si eliminano tutti i processi in Mysql "show processlist"?
- 25. Powershell/PoshGit - 'Impossibile trovare ssh-agent'
- 26. come ottenere tutti i processi parent e tutti i sottoprocessi mediante `pstree`
- 27. Come uccidere tutti i processi in background in zsh?
- 28. dato due alberi di directory come trovare i file uguali?
- 29. Come trovare tutti i costruttori statici?
- 30. Dato coordinate, come ottengo tutti i codici postali entro un raggio di 10 miglia?
questa pagina hanno tutti http: //www.mssqltips. it/sqlservertip/2561/querying-sql-server-agent-job-information/ –
Installa lo strumento di ricerca SQL RedGate in SSMS. È gratuito e rende un sacco di cose un gioco da ragazzi. –