Düzeltme: SQL Server 2005'te kullanıcı tanımlı bir işlevi çalıştırdığınızda hata iletisi: "geçersiz uzunluk parametresi SUBSTRING işlevine geçirilen" veya "BIR aktarım düzeyi hatası sonuçları sunucudan alırken oluştu"

Makale çevirileri Makale çevirileri
Makale numarası: 924291 - Bu makalenin geçerli olduğu ürünleri görün.
# Hata: 1209 (SQL düzeltmesi)
# Hata: 443526 (SQLBUDT)
Duyuru
Microsoft, Microsoft SQL Server 2005 düzeltmeleri tek bir yüklenebilir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm, tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin.
Hepsini aç | Hepsini kapa

Bu Sayfada

Bu makalede, bu düzeltme sürümü hakkında aşağıdaki açıklanır:
  • Bu düzeltme paketi ile giderilen sorunlar
  • Düzeltme paketini yükleme önkoşulları
  • Düzeltme paketini yükledikten sonra bilgisayarı yeniden başlatmalısınız hakkında bilgi
  • Düzeltme paketinin başka bir düzeltme paketiyle değiştirilip değiştirilmediğiyle ilgili bilgiler
  • Kayıt defteri değişiklikleri yapmanız gerekip hakkında bilgi
  • Düzeltme paketinin içerdiği dosyalar

Belirtiler

SQL Server 2005'te bir kullanıcı tanımlı fonksiyonun'nı çalıştırdığınızda bir hata iletisi alırsınız. Kullanıcı tanımlı fonksiyonun çalıştırmadan önce aşağıdaki deyimi çalıştırılırsa, bu sorun oluşur:
SET FMTONLY ON
sürümüne yüklü olan SQL Server 2005'in farklı bir hata iletisi alıyorsunuz. SQL Server 2005 Service Pack 1 (SP1) kullanıyorsanız, başka sorunlarla da karşılaşabilirsiniz.

SQL Server 2005'in özgün sürümünü

Kullanıcı tanımlı fonksiyon, SQL Server 2005'in özgün sürümünü çalıştırdığınızda, aşağıdaki hata iletisini alırsınız.
Msg 536, Düzey 16, State 5, satır 4
Geçersiz uzunluk parametresi SUBSTRING işlevine geçirildi.

SQL Server 2005 SP1

SQL Server 2005 SP1'de kullanıcı tanımlı işlevi yürüttüğünüzde, aşağıdaki sorunlarla karşılaşırsınız:
  • Aşağıdaki hata iletisini alıyorsunuz:
    Msg 109, 20, <a1>Durum</a1> 0, 0 satır düzeyi
    Sonuçları sunucudan alırken, BIR aktarım düzeyi hatası oluştu. (sağlayıcı: bellek sağlayıcısı, hata paylaşılan: 0:-pipe sona erdi.)
  • SQL Sunucu hizmetini durdurur.
  • Aşağıdaki erişim ihlali SQL Server Errorlog dosyasına kaydedilir:
    SqlDumpExceptionHandler: Önemli özel durum işleme 53 oluşturulan c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server, bu işlem sonlandırılıyor.

Çözüm

Hizmet paketi bilgileri

Bu sorunu gidermek için <a0></a0>, SQL Server 2005 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:
913089En son SQL Server 2005 hizmet paketi nasıl elde edilir

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltme ek sınamaya tabi olabilir. Bu nedenle, bu sorun nedeniyle önemli ölçüde etkilenmediyseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine başvurun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.

ÖNKOŞULLAR

Bu düzeltmeyi uygulamak için SQL Server 2005 Service Pack 1 (SP1) olması gerekir.

SQL Server 2005 Service Pack 1'i edinme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
913089En son SQL Server 2005 hizmet paketi nasıl elde edilir

Yeniden başlatma bilgileri

Bu düzeltmeyi uyguladıktan sonra SQL Server hizmetini yeniden başlatmanız gerekir.

Kayıt defteri Bilgileri

Kayıt defterini değiştirmeniz gerekmez.

Düzeltme Dosyası Bilgileri

Bu düzeltme, yalnızca bu makalede listelenen sorunları düzeltmek için gerekli olan dosyaları içerir. Bu düzeltme, bir ürünü en son sürüme tam olarak güncelleştirmek için gerekli olan dosyaları içermeyebilir.

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 öğesinde saat dilimi sekmesini kullanın.
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Hauresourcedb.ldfUygulanamaz524,28817 Ağu 200610: 39Uygulanamaz
Hauresourcedb.mdfUygulanamaz39,911,42417 Ağu 200610: 39Uygulanamaz
Logread.exe2005.90.2183.0398,11217 Ağu 200614: 13X86
Microsoft.analysisservices.adomdclient.dll9.0.2183.0543,52017 Ağu 200614: 13X86
Microsoft.analysisservices.deployengine.dll9.0.2183.0138,01617 Ağu 200614: 12X86
Microsoft.analysisservices.dll9.0.2183.01,215,26417 Ağu 200614: 13X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2183.075,55217 Ağu 200614: 11X86
Microsoft.SQLServer.sqlenum.dll9.0.2183.0908,06417 Ağu 200614: 13X86
Msgprox.dll2005.90.2183.0197,92017 Ağu 200614: 11X86
Msmdlocal.dll9.0.2183.015,703,84017 Ağu 200614: 13X86
Msmdredir.dll9.0.2183.03,968,80017 Ağu 200614: 14X86
Replprov.dll2005.90.2183.0547,61617 Ağu 200614: 13X86
Replrec.dll2005.90.2183.0782,11217 Ağu 200614: 12X86
Sqlaccess.dll2005.90.2183.0347,93617 Ağu 200614: 13X86
Sqlagent90.exe2005.90.2183.0319,26417 Ağu 200614: 12X86
Sqlservr.exe2005.90.2183.028,959,06417 Ağu 200614: 13X86
Sysdbupg.SQLUygulanamaz192,34619-Tem-200609: 02Uygulanamaz
Template_hauresourcedb.ldfUygulanamaz524,28817 Ağu 200610: 39Uygulanamaz
Template_hauresourcedb.mdfUygulanamaz39,911,42417 Ağu 200610: 39Uygulanamaz
Xpstar90.dll2005.90.2183.0292,64017 Ağu 200614: 16X86
Xpstar90.rll2005.90.2183.0152,86417 Ağu 200614: 12Uygulanamaz

Pratik Çözüm

Bu soruna geçici bir çözüm bulmak için <a0></a0>, kullanıcı tanımlı fonksiyonun çalıştırmadan önce KAPALı SET FMTONLY ayarı değiştirin.

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 SQL Server 2005 Service Pack 2'de giderilmiştir.

Daha fazla bilgi

Microsoft SQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
822499Microsoft SQL Server yazılım güncelleştirme paketlerinin yeni adlandırma şeması
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ı

Yığın Dökümü bilgileri

You receive the following stack dump information in SQL Server 2005 SP1:
2006-08-16 19:30:37.61 spid54      * Short Stack Dump
2006-08-16 19:30:37.62 spid54      014718DE Module(sqlservr+004718DE)
2006-08-16 19:30:37.62 spid54      0108B032 Module(sqlservr+0008B032)
2006-08-16 19:30:37.62 spid54      0108B066 Module(sqlservr+0008B066)
2006-08-16 19:30:37.62 spid54      014680F2 Module(sqlservr+004680F2)
2006-08-16 19:30:37.62 spid54      01BDF9D2 Module(sqlservr+00BDF9D2)
2006-08-16 19:30:37.62 spid54      014688D5 Module(sqlservr+004688D5)
2006-08-16 19:30:37.62 spid54      01023E34 Module(sqlservr+00023E34)
2006-08-16 19:30:37.62 spid54      0136764A Module(sqlservr+0036764A)
2006-08-16 19:30:37.62 spid54      013674C1 Module(sqlservr+003674C1)
2006-08-16 19:30:37.62 spid54      01367356 Module(sqlservr+00367356)
2006-08-16 19:30:37.62 spid54      01BF2102 Module(sqlservr+00BF2102)
2006-08-16 19:30:37.62 spid54      01381DA5 Module(sqlservr+00381DA5)
2006-08-16 19:30:37.62 spid54      01023E34 Module(sqlservr+00023E34)
2006-08-16 19:30:37.62 spid54      01041DD5 Module(sqlservr+00041DD5)
2006-08-16 19:30:37.62 spid54      0103DFD4 Module(sqlservr+0003DFD4)
2006-08-16 19:30:37.62 spid54      01006A96 Module(sqlservr+00006A96)
2006-08-16 19:30:37.62 spid54      01006BBC Module(sqlservr+00006BBC)
2006-08-16 19:30:37.62 spid54      01006DAB Module(sqlservr+00006DAB)
2006-08-16 19:30:37.62 spid54      01447562 Module(sqlservr+00447562)
2006-08-16 19:30:37.62 spid54      0144859B Module(sqlservr+0044859B)
2006-08-16 19:30:37.62 spid54      0144789A Module(sqlservr+0044789A)
2006-08-16 19:30:37.64 spid54      01447720 Module(sqlservr+00447720)
2006-08-16 19:30:37.64 spid54      781329AA Module(MSVCR80+000029AA)
2006-08-16 19:30:37.65 spid54      78132A36 Module(MSVCR80+00002A36)

sqlservr!CMsqlXactImp::ClearAllUpdateSequenceMarkers+0x3b (CONV: thiscall)
sqlservr!CMsqlXactImp::RollbackInternal+0x3a (CONV: thiscall)
sqlservr!CMsqlXactImp::Rollback+0x31 (CONV: thiscall)
sqlservr!CAutoMsqlXact::RollbackNestedXact+0x1b (FPO: [0,0,0]) (CONV: thiscall)
sqlservr!CExecuteStatement::RollbackNestedXact+0x14 (FPO: [1,0,0]) (CONV: thiscall)
sqlservr!CExecuteStatement::FinishNormalImp+0x8c (CONV: thiscall)
sqlservr!CExecuteStatement::FinishOnExceptionImp+0x13 (CONV: thiscall)
sqlservr!CMsqlExecContext::FExecute+0x65c (CONV: thiscall)
sqlservr!CSQLSource::Execute+0x73b (CONV: thiscall)
sqlservr!process_request+0x2e3 (CONV: stdcall)
sqlservr!process_commands+0x2e0 (CONV: stdcall)
sqlservr!SOS_Task::Param::Execute+0xe2 (CONV: thiscall)
sqlservr!SOS_Scheduler::RunTask+0xb9 (CONV: thiscall)
sqlservr!SOS_Scheduler::ProcessTasks+0x141 (CONV: stdcall)
sqlservr!SchedulerManager::WorkerEntryPoint+0x1a8 (CONV: stdcall)
sqlservr!SystemThread::RunWorker+0x7f (CONV: thiscall)
sqlservr!SystemThreadDispatcher::ProcessWorker+0x225 (CONV: thiscall)
sqlservr!SchedulerManager::ThreadEntryPoint+0x143 (CONV: stdcall)
msvcr80!_callthreadstartex+0x1b (FPO: [Non-Fpo]) (CONV: cdecl)
msvcr80!_threadstartex+0x66 (FPO: [Non-Fpo]) (CONV: stdcall)

Özellikler

Makale numarası: 924291 - Last Review: 4 Kasım 2007 Pazar - Gözden geçirme: 1.4
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Service Pack 1
Anahtar Kelimeler: 
kbmt kbautohotfix kbsql2005sp2fix kbhotfixserver kbfix kbexpertiseadvanced kbqfe kbpubtypekc KB924291 KbMttr
Machine-translated Article
Ö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.
Makalenin İngilizcesi aşağıdaki gibidir:924291

Geri Bildirim Ver

 

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