sql >> Database teknologi >  >> RDS >> Sqlserver

Tjek, hvor mange postemner der er i køen i databasemail i SQL Server (T-SQL)

I SQL Server kan du bruge sysmail_help_queue_sp gemt procedure på msdb database for at se, hvor mange postemner der er i køen, status for køen, og hvornår den sidst blev aktiveret.

Der er to typer kø:postkøen og statuskøen.

Du kan også returnere kontooplysninger baseret på køtypen.

Returner alle varer i køen

For at returnere alle elementer fra køen skal du blot udføre den lagrede procedure uden nogen parametre.

EXEC msdb.dbo.sysmail_help_queue_sp;

Resultat (ved hjælp af lodret output):

-[ 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

Jeg har angivet resultaterne ved hjælp af lodret output, så du ikke behøver at rulle sidelæns for at se alle kolonner.

I mit tilfælde er der to postforsendelser i køen, og derfor returneres to rækker.

last_empty_rowset_time kolonne angiver dato og klokkeslæt, hvor køen sidst var tom.

last_activated_time kolonne angiver dato og tidspunkt, hvor køen sidst blev aktiveret.

Bemærk, at sysmail_help_queue_sp gemt procedure er i msdb database og ejes af dbo skema. Derfor skal du bruge tredelt navngivning, hvis msdb er ikke den aktuelle database.

Filtrer efter køtype

Som nævnt er der to køtyper (mail og status). Du kan også returnere varer baseret på deres køtype.

For at gøre dette skal du angive @queue_type parameter og angiv den ønskede køtype.

For at returnere alle varer fra mailen kø:

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

Resultat:

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

For at returnere alle varer fra status kø:

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

Resultat:

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. Hvordan returnerer man et array fra Java til PL/SQL?

  2. Hvis du indstiller Oracle-størrelsen for rækkehentninger højere, bliver min app langsommere?

  3. Vide, hvordan man gendanner slettet tabel i SQL Server 2012 uden sikkerhedskopiering

  4. hvordan man vælger en liste med 10.000 unikke id'er fra dual i oracle SQL