Jestem w SQL 2008/R2. Chcę uruchomić kwerendę, aby sprawdzić, czy istnieje zadanie agenta SQL wywołującego określony zapisany proces (zbyt wiele jest do ręcznego sprawdzenia).Jak znaleźć wszystkie zadania agenta SQL, które wywołują dane przechowywane-proc
Odpowiedz
Oto zapytanie, które daje, a nawet więcej (zapoznać się z klauzulą WHERE
na zapisanym proc):
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]
kredytowych powinien udać się do artykułu Querying SQL Server Agent Job Information przez dattatreja Sindol dla większości z powyższych pytanie.
Zadziałało, dzięki! Podoba mi się to, że daje nawet nazwę kroku ... – NealWalters
Możesz użyć tej kwerendy -
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%'
Zadziałało, dzięki! – NealWalters
Zapraszamy! :) – AgentSQL
Działa to z serwerem sql 2000 (nie literówka), może wyszukiwać procedura przechowywana wykonywana – sojim2
Istnieje alternatywa, aby znaleźć wszystkie procedury, zwane przez wszystkich prac wewnątrz określonej instancji:
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. Jak wykonać plik exe z agenta lub zadania sql?
- 2. Błąd zadania agenta SQL z pakietem SSIS do dostępu DB
- 3. Jak znaleźć wszystkie dane o nieruchomościach?
- 4. Serwer SQL: czy powinienem użyć "zadania agenta" lub "planu konserwacji", aby usunąć stare dane?
- 5. Dwie funkcje, które wywołują się rekursywnie
- 6. Wykonywanie zadania agenta serwera SQL z procedury składowanej i zwracanie wyniku zadania
- 7. Jak mogę zobaczyć wszystkie dane, które solr indeksuje?
- 8. znaleźć wszystkie, które są zerowe w stowarzyszeniu
- 9. Gdzie program SQL Server Agent zapisuje zadania?
- 10. Javascript: znaleźć wszystkie "dane wejściowe" w tabeli
- 11. Jak uzyskać dane wyjściowe zadania przesiewowego do innego zadania gruntowego?
- 12. Jak zatrzymać wszystkie zadania po zakończeniu C#
- 13. Uruchamianie zadania po wszystkie zadania zostały zakończone
- 14. Powershell/PoshGit - "Nie można znaleźć ssh-agenta"
- 15. Jak wykonać procedurę przechowywaną w zadaniu agenta SQL?
- 16. Gradle wykonuje wszystkie zadania?
- 17. SQL Agenta pracy: Określ, jak długo został on uruchomiony
- 18. Limit czasu pracy agenta serwera SQL
- 19. Jak znaleźć wszystkie wyzwalacze powiązane z tabelą z SQL Server?
- 20. zapytań SQL, które można znaleźć literówki w języku arabskim
- 21. Rekursywnie znaleźć wszystkie pliki, które pasują do określonego wzorca
- 22. Skrót zaćmienia, aby znaleźć wszystkie klasy potomne, które zastępują metodę
- 23. Jak usunąć wszystkie zadania z sidekiq?
- 24. Jak znaleźć wszystkie podfoldery folderu?
- 25. Jak znaleźć wszystkie konstruktory statyczne?
- 26. Jak mogę uporządkować cały mój kod, dane, skrypty, zadania itp.?
- 27. Włączanie/wyłączanie agenta serwera Sql przy użyciu skryptu t-sql.
- 28. Tworzenie zadania Capistrano, które wykonuje różne zadania na podstawie roli
- 29. jak znaleźć ID instancji/korelacji zaplanowanego zadania, które rozpoczęło mój proces
- 30. CoordinatorLayout.Behavior callbacks nie wywołują
ta strona posiada wszystkie http: //www.mssqltips. com/sqlservertip/2561/querying-sql-server-agent-job-information/ –
Zainstaluj narzędzie RedGate SQL Search w systemie SSMS. Jest bezpłatny i sprawia, że wiele rzeczy jest bardzo proste. –