Oprava: Xp_sendmail rozšířené uložené procedury nespustí úspěšně SQL Server 2000 SP2 nebo novější

Překlady článku Překlady článku
ID článku: 833045 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při pokusu o odeslání e-mailové zprávy pomocí xp_sendmail rozšířené uložené procedury v počítači se systémem Microsoft SQL Server 2000 Service Pack 2 (SP2) nebo novější, xp_sendmail rozšířené uložené procedury nemusí spustit úspěšně. Může se zobrazit následující chybová zpráva:
Server: Zpráva 18025, úroveň 16 stav 1, řádek 0
xp_sendmail: došlo k chybě pošty 0x80040115
Poznámka: Tento problém obvykle nastane, když jsou splněny následující dvě podmínky:
  • Je ztráta připojení k síti mezi počítači se systémem 2000 Microsoft SQL Server a počítač spustit Microsoft Exchange Server.
  • Exchange server je restartován po prvním spuštění xp_sendmail rozšířené uložené procedury instance serveru SQL, kde došlo k chybě.

Řešení

Informace o aktualizaci Service Pack

Tento problém vyřešíte získat nejnovější aktualizaci service pack pro 2000 Microsoft SQL Server. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
290211Jak získat nejnovější aktualizaci Service Pack pro SQL Server 2000

Informace o opravě hotfix

Anglická verze této opravy hotfix má následující (nebo pozdější) atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v ovládacím panelu Datum a čas.
   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    
Poznámka: Vzhledem k závislostem souborů může nejnovější oprava hotfix nebo funkce, která obsahuje tyto soubory také obsahovat další soubory.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt. Tento problém byl poprvé opraven v Microsoft SQL Server 2000 Service Pack 4.

Jak potíže obejít

Tento problém vyřešit, ověřte připojení k síti a znovu odešlete e-mailu. Můžete nastavit možnost opakování xp_sendmail rozšířené uložené procedury nakonfigurováním položky registru nebo přidáním logiky opakování kód aplikace. Použijte některou z následujících metod:
  • Metoda 1: Konfigurace možnost opakování xp_sendmail rozšířené uložené procedury

    Ve výchozím nastavení po instalaci této opravy, pokud xp_sendmail rozšířené uložené procedury setká HRESULT = 0x80040115, xp_sendmail rozšířené uložené procedury se pokusí znovu odeslat pošty po režimu spánku pro 1000 milisekund. Můžete však nakonfigurovat počet opakování a interval čekání pro každé opakování.

    Důležité: Tento oddíl, metoda nebo úkol obsahuje kroky, které sdělit, jak upravit registr. Po nesprávné úpravě registru však mohou nastat závažné problémy. Postupujte proto pečlivě podle uvedených kroků. Pro zvýšení bezpečnosti registr zálohujte jestě před jeho úpravami. Potom můžete v případě potíží registr obnovit. Další informace o zálohování a obnovení registru naleznete následujícím článku znalostní v databáze Microsoft Knowledge Base:
    322756Zálohování a obnovení registru v systému Windows
    1. Konfigurovat počet opakování, přidejte hodnotu DWORD NumberOfTimesToRetryOnNetworkError následující klíč registru a nastavte hodnotu:
      • Výchozí instance SQL Server 2000, použijte HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer klíč registru.
      • Pojmenovaná instance SQL Server 2000, použijte HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft klíč registru Instance Name SQL Server\ \MSSQLServer.
    2. Konfigurovat interval čekání možnost opakování xp_sendmail přidat hodnotu DWORD WaitIntervalForRetryOnNetworkError následující klíč registru a nastavte hodnotu:
      • Výchozí instance SQL Server 2000 pomocí klíče registru HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer.
      • Pojmenovaná instance SQL Server 2000 pomocí klíče registru \MSSQLServer HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\ Instance Name.
  • Metoda 2: Přidání opakovat logiku kódu aplikace

    Použijte uvedený postup:
    1. Ověřte připojení k síti pro počítač je nakonfigurován jako poštovní server.
    2. Ujistěte se, že síťový adaptér a odpovídající ovladač pracují správně.
    3. Použití příslušné logiky ve skriptu Transact-SQL, použít k odeslání e-mailové zprávy pomocí xp_sendmail rozšířené uložené procedury tak, aby znovu e-mailové zprávy může být odeslán po dojde k selhání. Chcete-li to provést, můžete použít skript Transact-SQL, který je podobný následující:
      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

Další informace

Při odeslání e-mailové zprávy pomocí xp_sendmail rozšířené uložené procedury xp_sendmail rozšířené uložené procedury provádí mnoho volání MAPI API. Možnost opakování v této opravě hotfix je však přidán pouze pro jedno volání, který způsobil chybu s následující chybová zpráva:
HRESULT = 0X80040115

Odkazy

Další informace o terminologii používané v aktualizacích softwaru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft
Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
263556Jak konfigurovat SQL mail
315886Běžné problémy SQL mail
820220Odeslat e-mail pomocí rozšířené uložené procedury xp_sendmail dojde k chybě 0x80070005 nebo 0x80040005

Vlastnosti

ID článku: 833045 - Poslední aktualizace: 2. listopadu 2007 - Revize: 4.3
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbhotfixserver kbqfe kbregistry kbsqlserv2000presp4fix kbfix kbbug kbemail kbdll kbprb kberrmsg kbsqlservmail KB833045 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:833045

Dejte nám zpětnou vazbu

 

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