ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Xp_sendmail kullanarak e-posta iletisine genişletilmiş saklı yordamı bir bilgisayarda, göndermeye çalıştığınızda, Microsoft SQL Server 2000 Service Pack 2 (SP2) çalışıyorsa veya daha sonra genişletilmiş saklı yordamı xp_sendmail başarılı bir şekilde çalışmayabilir. Aşağıdaki hata iletisini alabilirsiniz:
Sunucu: <a1>hata</a1> 18025, Düzey 16, State 1, satır 0 xp_sendmail: posta hatası 0x80040115
Not Bu sorun, genellikle aşağıdaki iki koşul doğru olduğunda oluşur:
Microsoft SQL Server 2000 çalıştıran bir bilgisayarda Microsoft Exchange Server çalıştıran bilgisayar arasındaki ağ bağlantısı kaybı var.
Exchange sunucu yeniden başladıktan sonra hatanın oluştuğu bir SQL Server örneği üzerinde saklı yordamın ilk yürütülmesini xp_sendmail genişletilmiş.
Çözüm
Hizmet paketi bilgileri
Bu sorunu gidermek için <a0></a0>, Microsoft SQL Server 2000 için en son hizmet paketini edinin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290211En son SQL Server 2000 hizmet paketi nasıl elde edilir
Düzeltme bilgileri
Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve Saat aracında saat dilimi sekmesini kullanın.
Not Dosya bağımlılıkları nedeniyle, en son düzeltme veya özellik, bu dosyaları içeren ek dosyalar da içerebilir.
Durum
Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır. Bu sorun ilk olarak Microsoft SQL Server 2000 Service Pack 4'te giderilmiştir.
Pratik Çözüm
Bu soruna geçici bir çözüm bulmak için <a0></a0>, ağ bağlantısını doğrulamak ve postayı yeniden gönderin. Kayıt defteri girdilerini yapılandırma veya uygulama kodunuzu yeniden deneme mantık ekleyerek genişletilmiş saklı yordamı xp_sendmail retry seçeneği ayarlayabilirsiniz. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın:
Yöntem 1: genişletilmiş saklı yordamı xp_sendmail retry seçeneğini yapılandırın.
Varsayılan olarak, saklı yordam karşılaştığı xp_sendmail genişletilmiş, bu bir düzeltmesi yüklendikten sonra HRESULT 0x80040115 =, genişletilmiş saklı yordamı xp_sendmail, 1000 mili saniye için Uykuya geçme sonra postayı yeniden göndermeyi dener. Ancak, her deneme için bekleme aralığı yeniden deneme sayısını da yapılandırabilirsiniz.
Önemli Bu bölüm, yöntem veya görev kayıt defterini nasıl söyleyin adımları içerir. Ancak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Ek koruma için, kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Bir sorun oluşursa kayıt defterini daha sonra geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756Windows'da kayıt defterini yedekleme ve geri yükleme
Yeniden deneme sayısı'nı yapılandırmak için <a0></a0>, aşağıdaki kayıt defteri anahtarına NumberOfTimesToRetryOnNetworkError DWORD değeri ekleyin ve sonra değerini ayarlayın:
SQL Server 2000 varsayılan örneği için HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer kullan kayıt defteri anahtarı.
SQL Server 2000 adlandırılmış örneği için HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft kullanan SQL Server\ Instance Name \MSSQLServer kayıt defteri anahtarı.
Xp_sendmail retry seçeneği için bekleme aralığı ayarlamak için <a0></a0>, aşağıdaki kayıt defteri anahtarına WaitIntervalForRetryOnNetworkError DWORD değeri ekleyin ve sonra değerini ayarlayın:
SQL Server 2000 varsayılan örneği için HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer kayıt defteri anahtarını kullanın.
SQL Server 2000 adlandırılmış örneği için Instance Name HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\ \MSSQLServer kayıt defteri anahtarını kullanın.
Yöntem 2: Ekleme mantığı uygulama kodunuzu yeniden deneyin.
Bunu yapmak için şu adımları izleyin:
Posta sunucusu olarak yapılandırılmış bilgisayarın ağ bağlantısını doğrulayın.
Ağ bağdaştırıcısı ve ilgili sürücünün doğru çalıştığından emin olun.
Uygun bir mantık Transact-SQL komut dosyasında hata oluştuktan sonra e-posta iletisinin gönderilmesi için genişletilmiş saklı yordamı xp_sendmail kullanarak e-posta iletileri göndermek için kullanın. Bunu yapmak için <a0></a0>, aşağıdakine benzer bir Transact-SQL komut dosyasını kullanabilirsiniz:
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=1BEGINSET @Counting = @Counting + 1EXEC @return = master.dbo.xp_sendmail @recipients = @EmailAddTO,@message = @EmailText ,@subject = @EmailSubject/* CHECK value, break if SUCCESS */IF @return = 0BEGINPRINT 'EMAIL SENT'BREAKENDELSEBEGIN/* Try 5 times */IF @Counting = 5BREAK PRINT 'EMAIL FAILED, WAIT 10 SECONDS, TRY AGAIN'/* 000 hours, 00 minutes, and 10 seconds */WAITFOR DELAY '000:00:10'ENDENDENDGO
Daha fazla bilgi
Xp_sendmail genişletilmiş saklı yordamı'ı xp_sendmail kullanarak e-posta iletisi gönderdiğinizde, birçok MAPI API çağrılarını saklı yordamını sağlar genişletildi. Ancak, bu düzeltmeyi yeniden deneme</a1> seçeneğinde aşağıdaki hata iletisini başarısızlığı nedeniyle, tek bir çağrı için yalnızca eklenir:
hresult = 0X80040115
Referanslar
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması
Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın: