Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak mogę określić status pracy?

Chciałbym zaznaczyć, że żaden z T-SQL na tej stronie nie będzie działał dokładnie dlatego, że żaden z nich nie dołącza do systemów tabeli, aby uzyskać tylko bieżącą sesję i dlatego może zawierać fałszywe alarmy.

Zobacz to w celach informacyjnych:Co to znaczy mieć zadania z zerową datą zakończenia?

Możesz to również sprawdzić, analizując sp_help_jobactivity procedura w msdb .

Zdaję sobie sprawę, że jest to stara wiadomość na SO, ale ta wiadomość okazała się tylko częściowo pomocna z powodu problemu.

SELECT
    job.name, 
    job.job_id, 
    job.originating_server, 
    activity.run_requested_date, 
    DATEDIFF( SECOND, activity.run_requested_date, GETDATE() ) as Elapsed
FROM 
    msdb.dbo.sysjobs_view job
JOIN
    msdb.dbo.sysjobactivity activity
ON 
    job.job_id = activity.job_id
JOIN
    msdb.dbo.syssessions sess
ON
    sess.session_id = activity.session_id
JOIN
(
    SELECT
        MAX( agent_start_date ) AS max_agent_start_date
    FROM
        msdb.dbo.syssessions
) sess_max
ON
    sess.agent_start_date = sess_max.max_agent_start_date
WHERE 
    run_requested_date IS NOT NULL AND stop_execution_date IS NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd serwera SQL — HRESULT E_FAIL został zwrócony z wywołania komponentu COM

  2. Optymalizacja TempDB:unikanie wąskich gardeł i problemów z wydajnością

  3. Zapisz tablicę bajtów na serwerze sql

  4. Indeksy SQL Server:kluczowe wymagania, wpływ na wydajność i uwagi

  5. Nie można powiązać wieloczęściowego identyfikatora TextBox1.Text w C# ASP.NET?