Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Véglegesen törli az e-maileket az Adatbázisposta belső tábláiból.
Transact-SQL szintaxis konvenciók
Szemantika
sysmail_delete_mailitems_sp [ [ @sent_before = ] 'sent_before' ]
[ , [ @sent_status = ] 'sent_status' ]
[ ; ]
Érvek
[ @sent_before = ] 'sent_before'
A @sent_before argumentumként megadott dátumig és időpontig törli az e-maileket.
@sent_before alapértelmezett dátum/időNULL érték.
NULL az összes dátumot jelzi.
[ @sent_status = ] 'sent_status'
Törli a @sent_status által megadott típusú e-maileket. @sent_status a varchar(8) alapértelmezés nélkül. Az érvényes bejegyzések a következők:
sentunsentretrying-
failed.
NULL az összes állapotot jelzi.
Kódértékek visszaadása
0 (sikeres) vagy 1 (hiba).
Megjegyzések
Az adatbázis e-mailjei és mellékletei az msdb adatbázisban vannak tárolva. Az üzeneteket rendszeresen törölni kell, hogy ne msdb növekedjen a vártnál, és hogy megfeleljenek a szervezetek dokumentummegőrzési programja előírásainak.
sysmail_delete_mailitems_sp A tárolt eljárással véglegesen törölheti az e-maileket az adatbázis-levelezési táblákból. Az opcionális argumentumokkal csak a régebbi e-maileket törölheti dátum és idő megadásával. Az argumentumnál régebbi e-mailek törlődnek. Egy másik választható argumentum lehetővé teszi, hogy csak az @sent_status argumentumként megadott, bizonyos típusú e-maileket törölje. Meg kell adnia egy argumentumot @sent_before vagy @sent_status. Az összes üzenet törléséhez használja a következőt @sent_before = GETDATE();: .
Az e-mailek törlése az üzenetekkel kapcsolatos mellékleteket is törli. Az e-mail törlése nem törli a megfelelő bejegyzéseket a(z) alkalmazásban sysmail_event_log. Az sysmail_delete_log_sp használatával törölhet elemeket a naplóból.
Engedélyek
Alapértelmezés szerint ez a tárolt eljárás a sysadmin rögzített kiszolgálói szerepkörön és a DatabaseMailUserRole-n kívüli tagok számára történő végrehajtásra szolgál. A sysadmin rögzített kiszolgálói szerepkör tagjai végrehajthatják ezt az eljárást az összes felhasználó által küldött e-mailek törléséhez. A DatabaseMailUserRole tagjai csak az adott felhasználó által küldött e-maileket törölhetik.
Példák
Egy. Az összes e-mail törlése
Az alábbi példa törli az adatbázis levelezési rendszerében lévő összes e-mailt.
DECLARE @GETDATE AS DATETIME;
SET @GETDATE = GETDATE();
EXECUTE msdb.dbo.sysmail_delete_mailitems_sp
@sent_before = @GETDATE;
GO
B. A legrégebbi e-mailek törlése
Az alábbi példa törli a 2022. október 9-nél régebbi e-maileket az Adatbázisposta naplójában.
EXECUTE msdb.dbo.sysmail_delete_mailitems_sp @sent_before = 'October 9, 2022';
GO
C. Az összes e-mail törlése egy bizonyos típusú e-mailből
Az alábbi példa törli az adatbázis levelezési naplójában található összes sikertelen e-mailt.
EXECUTE msdb.dbo.sysmail_delete_mailitems_sp @sent_status = 'failed';
GO