sql >> Databáze >  >> RDS >> Sqlserver

Zkontrolujte, kolik poštovních položek je ve frontě v databázové poště na serveru SQL (T-SQL)

V SQL Server můžete použít sysmail_help_queue_sp uložená procedura na msdb databáze, abyste viděli, kolik poštovních položek je ve frontě, stav fronty a kdy byla naposledy aktivována.

Existují dva typy fronty:fronta pošty a fronta stavu.

Můžete také vrátit informace o účtu na základě typu fronty.

Vrátit všechny položky ve frontě

Chcete-li vrátit všechny položky z fronty, jednoduše spusťte uloženou proceduru bez jakýchkoli parametrů.

EXEC msdb.dbo.sysmail_help_queue_sp;

Výsledek (při použití vertikálního výstupu):

-[ RECORD 1 ]-------------------------
queue_type             | mail
length                 | 0
state                  | INACTIVE
last_empty_rowset_time | 2020-08-25 22:25:02.637
last_activated_time    | 2020-08-25 22:25:02.637
-[ RECORD 2 ]-------------------------
queue_type             | status
length                 | 0
state                  | INACTIVE
last_empty_rowset_time | 2020-08-25 22:25:02.637
last_activated_time    | 2020-08-25 22:25:02.637

Výsledky jsem uvedl pomocí vertikálního výstupu, abyste nemuseli posouvat do stran, abyste viděli všechny sloupce.

V mém případě jsou ve frontě dvě poštovní položky, takže jsou vráceny dva řádky.

last_empty_rowset_time sloupec poskytuje datum a čas, kdy byla fronta naposledy prázdná.

last_activated_time sloupec obsahuje datum a čas, kdy byla fronta naposledy aktivována.

Všimněte si, že sysmail_help_queue_sp uložená procedura je v msdb databázi a je vlastněna dbo schéma. Pokud tedy msdb, budete muset použít třídílné pojmenování není aktuální databáze.

Filtrovat podle typu fronty

Jak již bylo zmíněno, existují dva typy front (pošta a stav). Můžete také vrátit položky na základě jejich typu fronty.

Chcete-li to provést, zadejte @queue_type a zadejte požadovaný typ fronty.

Chcete-li vrátit všechny položky z pošty fronta:

EXEC msdb.dbo.sysmail_help_queue_sp
    @queue_type = 'mail';

Výsledek:

queue_type             | mail
length                 | 0
state                  | INACTIVE
last_empty_rowset_time | 2020-08-25 22:25:02.637
last_activated_time    | 2020-08-25 22:25:02.637

Chcete-li vrátit všechny položky ze stavu fronta:

EXEC msdb.dbo.sysmail_help_queue_sp
    @queue_type = 'status';

Výsledek:

queue_type             | status
length                 | 0
state                  | INACTIVE
last_empty_rowset_time | 2020-08-25 22:25:02.637
last_activated_time    | 2020-08-25 22:25:02.637

  1. Jak chránit databázi heslem v Accessu 2016

  2. Nové rodiny procesorů AMD se dobře porovnávají s novými procesory Intel

  3. Ormlite nebo sqlite Který z nich je dobrý pro Android?

  4. Jak vypočítat rozdíl mezi dvěma daty a časy v T-SQL