Update: Die erweiterte gespeicherte Prozedur Xp_sendmail nicht erfolgreich in SQL Server 2000 SP2 oder höher ausgeführt

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 833045 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Sie versuchen, e-Mail-Nachricht mithilfe von Xp_sendmail erweiterten gespeicherten Prozedur auf einem Computer, zu senden, werden Microsoft SQL Server 2000 Service Pack 2 (SP2) ausgeführt oder höher, erweiterte gespeicherte Prozedur Xp_sendmail nicht erfolgreich ausgeführt kann. Die folgende Fehlermeldung wird angezeigt:
Server: Msg 18025, Ebene 16, Status 1, Zeile 0
Xp_sendmail: Fehler bei e-Mail-0x80040115
Hinweis: Dieses Problem tritt normalerweise auf, wenn die folgenden beiden Bedingungen erfüllt sind:
  • Es gibt ein Verlust der Netzwerkkonnektivität zwischen dem Computer mit Microsoft SQL Server 2000 und dem Computer, auf denen Microsoft Exchange Server ausgeführt.
  • Der Exchange-Server wird nach die erste Ausführung von Xp_sendmail erweiterten gespeicherten Prozedur auf SQL Server-Instanz des Fehlers neu gestartet.

Lösung

Informationen zu Service Packs

Installieren Sie das neueste Service Pack für Microsoft SQL Server 2000, um dieses Problem zu beheben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
290211So erhalten Sie das neueste Service Pack für SQL Server 2000

Hotfix-Informationen

Die englische Version dieses Hotfixes weist die Dateiattribute (oder höher Dateiattribute), die in der folgenden Tabelle aufgelistet werden. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools ? Datum und Uhrzeit in der Systemsteuerung.
   Date         Time   Version             Size   File name
   ---------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe      
   28-Oct-2003  04:21  2000.80.873.0     315,968  Custtask.dll     
   30-Jan-2004  16:29  2000.80.911.0      33,340  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   12-Sep-2003  03:26  2000.80.859.0   1,905,216  Dtspkg.dll       
   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll      
   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927  Instdist.sql
   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql
   30-Jan-2004  16:29  2000.80.911.0      90,692  Msgprox.dll      
   01-Apr-2003  02:07                      1,873  Odsole.sql
   30-Jan-2004  16:29  2000.80.911.0      62,024  Odsole70.dll     
   30-Jan-2004  16:29  2000.80.911.0      25,144  Opends60.dll     
   07-May-2003  18:47                    132,096  Opends60.pdb
   30-Jan-2004  16:28  2000.80.911.0      57,904  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll     
   04-Aug-2003  18:17                    550,780  Procsyst.sql
   12-Sep-2003  00:37                     12,305  Qfe469315.sql
   22-May-2003  22:57                     19,195  Qfe469571.sql
   30-Jan-2004  01:16                  1,090,380  Replmerg.sql
   30-Jan-2004  16:29  2000.80.911.0     221,768  Replprov.dll     
   30-Jan-2004  16:29  2000.80.911.0     307,784  Replrec.dll      
   29-Jan-2004  23:24  2000.80.911.0     159,813  Replres.rll
   06-Sep-2003  00:00                  1,087,150  Replsys.sql
   13-Aug-2003  16:28                    986,603  Repltran.sql
   30-Jan-2004  16:29  2000.80.911.0     287,304  Rinitcom.dll     
   30-Jan-2004  16:29  2000.80.911.0      57,916  Semnt.dll        
   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll
   02-Jan-2004  19:42  2000.80.904.0      53,832  Snapshot.exe     
   09-Dec-2003  20:07                    117,834  Sp3_serv_uni.sql
   05-Feb-2004  00:46  2000.80.913.0      28,672  Sqlagent.dll     
   05-Feb-2004  00:47  2000.80.913.0     311,872  Sqlagent.exe     
   19-Feb-2004  18:02  2000.80.916.0     168,001  Sqlakw32.dll     
   30-Jan-2004  16:29  2000.80.911.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172  Sqldumper.exe    
   29-Jan-2004  23:17  2000.80.911.0      28,672  Sqlevn70.rll
   05-Mar-2004  17:13  2000.80.922.0     180,792  Sqlmap70.dll     
   03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll       
   02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll
   22-Oct-2003  00:08  2000.80.871.0     401,984  Sqlqry.dll       
   30-Jan-2004  16:29  2000.80.911.0      57,920  Sqlrepss.dll     
   09-Mar-2004  19:54  2000.80.922.0   7,614,545  Sqlservr.exe     
   09-Mar-2004  19:57                 12,788,736  Sqlservr.pdb
   30-Jan-2004  16:29  2000.80.911.0     590,396  Sqlsort.dll      
   30-Jan-2004  16:29  2000.80.911.0      45,644  Sqlvdi.dll       
   30-Jan-2004  16:29  2000.80.911.0     106,588  Sqsrvres.dll     
   30-Jan-2004  16:29  2000.80.911.0      33,340  Ssmslpcn.dll     
   30-Jan-2004  16:29  2000.80.911.0      82,492  Ssnetlib.dll     
   30-Jan-2004  16:29  2000.80.911.0      25,148  Ssnmpn70.dll     
   28-Oct-2003  04:21  2000.80.873.0     123,456  Stardds.dll      
   30-Jan-2004  16:29  2000.80.911.0     158,240  Svrnetcn.dll     
   30-Jan-2004  16:29  2000.80.911.0      76,416  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll          
   30-Apr-2003  23:52                    132,096  Ums.pdb
   30-Jan-2004  16:29  2000.80.911.0      98,872  Xpweb70.dll    
Hinweis: Aufgrund von Dateiabhängigkeiten enthält das aktuellste Update oder Feature, das diese Dateien enthält, möglicherweise auch weitere Dateien.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind. Dieses Problem wurde erstmals im Microsoft SQL Server 2000 Service Pack 4.

Abhilfe

Um dieses Problem zu umgehen, überprüfen Sie die Netzwerkverbindung, und senden Sie die e-Mail-Nachricht erneut. Sie können die wiederholen-Option für die Xp_sendmail erweiterte gespeicherte Prozedur durch die Registrierungseinträge konfigurieren oder durch Anwendungscode Wiederholungslogik hinzugefügt einrichten. Verwenden Sie hierzu eine der folgenden Methoden:
  • Methode 1: Konfigurieren der Retry-Option für erweiterte gespeicherte Prozedur xp_sendmail

    Nachdem Sie dieses Update, installiert Wenn Xp_sendmail gespeicherte Prozedur entdeckt erweitert standardmäßig HRESULT = 0x80040115 , erweiterte gespeicherte Prozedur Xp_sendmail versucht, die e-Mail-Nachricht erneut senden, nachdem es für 1000 Millisekunden Ruhezustand versetzt. Allerdings können Sie die Anzahl der Wiederholungen und das Wait-Intervall für jedem Neuversuch konfigurieren.

    wichtig In diesem Abschnitt, Methode oder Aufgabe enthält Hinweise zum Ändern der Registrierung. Allerdings können schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie daher sicher, dass Sie diese Schritte sorgfältig ausführen. Für zusätzlichen Schutz sichern Sie der Registrierung, bevor Sie ihn ändern. Anschließend können Sie die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    322756Zum Sichern und Wiederherstellen der Registrierung in Windows
    1. Konfigurieren die Anzahl der Wiederholungen des folgenden Registrierungsschlüssels den NumberOfTimesToRetryOnNetworkError DWORD-Wert hinzu, und legen Sie den Wert:
      • Für eine Standardinstanz von SQL Server 2000, verwenden Sie die HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer Registrierungsschlüssel.
      • Für eine benannte Instanz von SQL Server 2000 verwenden die HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ Instance Name \MSSQLServer-Registrierungsschlüssel.
    2. Zum Konfigurieren des Warteintervalls für die Option Xp_sendmail Wiederholung den folgenden Registrierungsschlüssel den WaitIntervalForRetryOnNetworkError DWORD-Wert hinzu, und legen Sie den Wert:
      • Verwenden Sie für eine Standardinstanz von SQL Server 2000 den HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer-Registrierungsschlüssel.
      • Verwenden Sie für eine benannte Instanz von SQL Server 2000 den HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ Instance Name \MSSQLServer-Registrierungsschlüssel.
  • Methode 2: Hinzufügen Logik zum Anwendungscode wiederholen

    Gehen Sie dazu folgendermaßen vor:
    1. Überprüfen Sie die Netzwerkkonnektivität für den Computer, der als Mailserver konfiguriert ist.
    2. Stellen Sie sicher, dass der Netzwerkadapter und den entsprechenden Treiber ordnungsgemäß funktionsfähig.
    3. Verwenden Sie eine entsprechende Logik in das Transact-SQL-Skript, das Sie zum Senden von e-Mail-Nachrichten mithilfe von Xp_sendmail gespeicherte Prozedur erweitert, sodass die e-Mail-Nachricht erneut gesendet werden kann, nach dem Ausfall verwenden. Um dies tun, können Sie ein Transact-SQL-Skript, die der folgenden ähnelt:
      DECLARE
      @EmailAddTO varchar(30),
      @EmailSubject varchar(130),
      @EmailText varchar(255),
      @return int,
      @Counting int 
      
      BEGIN
      /* SET value */
      SET @return = 0 
      SET @Counting = 0 
      SET @EmailSubject = 'TEST EMAIL' 
      SET @EmailText = 'This is a test email'
      SET @EmailAddTO = '<RecipientAddress>' 
      
      /* LOOP. If e-mail is sent, break loop; ELSE WAIT 10 seconds, and then RETRY. */
      WHILE 1=1
      BEGIN
      SET @Counting = @Counting + 1
      
      EXEC @return = master.dbo.xp_sendmail 
      @recipients = @EmailAddTO,
      @message = @EmailText ,
      @subject = @EmailSubject
      
      /* CHECK value, break if SUCCESS */
      IF @return = 0
      BEGIN
      PRINT 'EMAIL SENT'
      BREAK
      END
      ELSE
      BEGIN
      /* Try 5 times */
      IF @Counting = 5
      BREAK 
      PRINT 'EMAIL FAILED, WAIT 10 SECONDS, TRY AGAIN'
      /* 000 hours, 00 minutes, and 10 seconds */
      WAITFOR DELAY '000:00:10'
      END
      END
      END
      GO

Weitere Informationen

Wenn Sie eine e-Mail senden mithilfe von Xp_sendmail erweiterten gespeicherten Prozedur, erweitert die Xp_sendmail gespeicherte Prozedur macht viele Aufrufe an die MAPI-API. Jedoch wird die wiederholen-Option in diesem Hotfix nur für einen einzigen Aufruf hinzugefügt, die mit den folgenden Fehlermeldung den Fehler verursacht:
HRESULT = 0X80040115

Informationsquellen

Weitere Informationen zur Terminologie für Softwareupdates finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates
Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
263556Konfigurieren von SQL Mail
315886SQL Mail-Probleme
8202200 x 80070005 oder 0x80040005 Fehler beim Senden von E-mail mithilfe von erweiterte gespeicherte Prozedur xp_sendmail

Eigenschaften

Artikel-ID: 833045 - Geändert am: Freitag, 2. November 2007 - Version: 4.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP2
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3
  • Microsoft SQL Server 2000 Service Pack 2
  • Microsoft SQL Server 2000 Service Pack 3
  • Microsoft SQL Server 2000 Service Pack 2
  • Microsoft SQL Server 2000 Service Pack 3
  • Microsoft SQL Server 2000 Service Pack 2
  • Microsoft SQL Server 2000 Personal Edition Service Pack 3
  • Microsoft SQL Server 2000 Service Pack 2
  • Microsoft SQL Server 2000 Service Pack 3
Keywords: 
kbmt kbhotfixserver kbqfe kbregistry kbsqlserv2000presp4fix kbfix kbbug kbemail kbdll kbprb kberrmsg kbsqlservmail KB833045 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 833045
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com