Attiecas uz
SQL Server 2008 Standard SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Workgroup

115124 (satura uzturēšana) kļūdas numurs:VSTS kļūda numurs: 316475VSTS kļūda numurs: 365460

Microsoft izplata Microsoft SQL Server 2008 labojumus kā vienu lejupielādējamu failu. Tā kā labojumi ir kumulatīvi, katrs jauns laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā.

Pazīmes

Microsoft SQL Server 2005 vai SQL Server 2008, palaižot iekļautā procedūra attālā servera, izmantojot saistītu serveri. Pēc manas darbības palaišanas reižu, iespējams, atmiņas lietojums SQL Server pakalpojuma pieaug ātri. Turklāt SQL Server 2008 errorlog fails var tikt reģistrēti dažādi kļūdu ziņojumi saistīto izsmelšana atmiņas adrešu telpai MemTolLeave .Piezīme. Šī problēma var rasties arī, izmantojot replicēšanas, žurnāla nosūtīšana vai spoguļošana. Šie līdzekļi var izmantot manas darbības, kas veiktas saistītie serveri.

Iemesls

Šo problēmu izraisa atmiņas noplūdi, kas rodas, izpildot vaicājumu, kas izmanto saistītie serveri. Noplūdes rodas, ja tiek izsaukta attālās saglabātā procedūra. Pastāv divu veidu iespējamās noplūdes:

  • Iekļautās procedūras izsaukums, kas vienmēr "nopludināta" atgriešanas vērtību. Tas ir neliels, bet regulāri noplūde.

  • Attālās procedūras izsaukums parametri sqlvariant datu tips, kuram saglabāta.

Risinājums

SQL Server 2008 1. servisa pakotne

Šīs problēmas labojums vispirms tika izlaists 3. kumulatīvo atjauninājumu sistēmas SQL Server 2008 1. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvo atjauninājumu pakotnes, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

971491 kumulatīvā atjauninājuma pakotnes 3 SQL Server 2008 1. servisa pakotnePiezīme. Tā kā būvējumi ir kumulatīvi, katrs jauns labojumu laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā. Korporācija Microsoft iesaka apsvērt tāda visjaunākā labojuma laidiena pielietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

970365 SQL Server 2008 būvējumi, kas tika izlaisti pēc sistēmas SQL Server 2008 1. servisa pakotnes izlaišanasMicrosoft SQL Server 2008 labojumfaili tiek izveidoti īpaši SQL Server servisa pakotnēm. Ir jāinstalē labojumfails SQL Server 2008 1. servisa pakotnei un SQL Server 2008 1. servisa pakotnes instalēšanas. Pēc noklusējuma SQL Server servisa pakotne ir pieejama jebkurā labojumfails ir iekļauts SQL Server nākamajā servisa pakotnē.

SQL Server 2005 3. servisa pakotne

Šīs problēmas labojums vispirms tika izlaists kumulatīvais atjauninājums 6 SQL Server 2005 3. servisa pakotni. Lai iegūtu papildinformāciju par šo kumulatīvo atjauninājumu pakotnes, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

974648 kumulatīvā atjauninājuma pakotnes 6 SQL Server 2005 3. servisa pakotniPiezīme. Tā kā būvējumi ir kumulatīvi, katrs jauns labojumu laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2005 labojumu laidienā. Korporācija Microsoft iesaka apsvērt tāda visjaunākā labojuma laidiena pielietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

960598 SQL Server 2005 būvējumi, kas tika izlaisti pēc sistēmas SQL Server 2005 3. servisa pakotnes izlaišanasMicrosoft SQL Server 2005 labojumfaili tiek izveidoti konkrētu SQL Server servisa pakotnēm. Ir jāinstalē labojumfails SQL Server 2005 3. servisa pakotni un SQL Server 2005 3. servisa pakotnes instalēšanas. Pēc noklusējuma SQL Server servisa pakotne ir pieejama jebkurā labojumfails ir iekļauts SQL Server nākamajā servisa pakotnē.

SQL Server 2008 laidiena versija

Svarīgi! Ja izmantojat SQL Server 2008 laidiena versija jāinstalē šis labojums.Šīs problēmas labojums vispirms tika izlaists kumulatīvais atjauninājums 8. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

975976 kumulatīvā atjauninājuma pakotnes 8 SQL Server 2008Piezīme. Tā kā būvējumi ir kumulatīvi, katrs jauns labojumu laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā. Ieteicams apsvērt tāda visjaunākā labojuma laidiena pielietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

956909 SQL Server 2008 būvējumi, kas tika izlaisti pēc sistēmas SQL Server 2008 izlaišanas

Statuss

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Papildinformācija

Informācija par izsaukumu steku

Šis atmiņas noplūde var redzēt noklusētās sistēmas atmiņas. Vismaz vienam noplūde modelis būs 40 baitus. Tas ir mazāks par CXVariant struktūru atgriešanas vērtību. LFH kaudzes nerāda 40 baiti atbilstoši noplūdes un var parādīt 4 KB noplūdes 64 KB diapazoniem, ja izmantojat ! kaudze < heaphandle > - -k komandu pilnas izmetes faila.Piezīme. Pēc noklusējuma Windows Server 2008, Windows Vista, Windows 7 un Windows Server 2008 R2 izmantos LFH kaudze noklusējuma kaudze SQL servera process.UMDH vai DebugDiag parāda caurs stekus šāds raksturs. UMDH, DebugDiag, gan ! kaudze-l komandu visi Rādīt kā noplūdes problēmu atgrieztais statuss bieži steks:Piezīme. Atkarībā no tā, kuru nodrošinātāju tiek izmantota, sniedzēja informāciju nedrīkst būt sqlncli10.ntdll!RtlAllocateHeap+0001B970sqlncli10!CDataSource::DataConvert+0000C898 sqlncli10!CDataSource::OLEDBdataFromSQLdata+0000018C sqlncli10!CStmt::ProcessReturnStatus+000001FAsqlncli10!BATCHCTX::Run+000005BAsqlncli10!CDBConnection::ProcessTDSStream+000001A7 sqlncli10!CStmt::SQLExecRPC+00000602 sqlncli10!CCommand::ExecuteHelper+00000250 sqlncli10!CCommand::Execute+000013BB sqlncli10!CImpICommandText::Execute+00000209 sqlservr!MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64>::operator()+00000053 sqlservr!ReturnValueHolder<long>::ExecAndSaveReturnValue<MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+00000018 sqlservr!CallProtectorImpl::CallWithSEH<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+0000002A sqlservr!CallProtectorImpl::CallExternalFull<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+0000004Dsqlservr!SOS_CallExternalFunctor<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> >+0000001Dsqlservr!IWrapInterface<ICommandText>::HrCallExternal<MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> >+00000092sqlservr!CWrapICommandText::Execute+00000230sqlservr!CRpcInterfaces::Relay+00000982sqlservr!CStmtExecProc::XretRemoteExec+00000732sqlservr!CRemoteProcExecLevel::Execute+00000160sqlservr!CStmtExecProc::XretWrapRemoteExec+000001D5sqlservr!CStmtExecProc::XretExecExecute+0000078Esqlservr!CXStmtExecProc::XretExecute+0000004Esqlservr!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0000003Csqlservr!CMsqlExecContext::ExecuteStmts<1,1>+000002AAsqlservr!CMsqlExecContext::FExecute+00001023sqlservr!CSQLSource::Execute+00001091sqlservr!process_request+000006BC sqlservr!process_commands+000003C4 sqlservr!SOS_Task::Param::Execute+0000016Bsqlservr!SOS_Scheduler::RunTask+000001A5sqlservr!SOS_Scheduler::ProcessTasks+000002E7 Here are the call stacks for the SQL Variant output parameter leak for sql_variant:ntdll!RtlAllocateHeap+0001B970sqlncli10!CDataSource::DataConvert+0000BAD2sqlncli10!CDataSource::OLEDBdataFromSQLdata+00000D18sqlncli10!CStmt::ProcessReturnValue+00000BC5sqlncli10!CTdsSqloledb::OnReturnValue+00000018sqlncli10!BATCHCTX::ProcessReturnValue+00000366sqlncli10!BATCHCTX::Run+000004ADsqlncli10!CDBConnection::ProcessTDSStream+000001A7sqlncli10!CStmt::SQLExecRPC+00000602 sqlncli10!CCommand::ExecuteHelper+00000250sqlncli10!CCommand::Execute+000013BB sqlncli10!CImpICommandText::Execute+00000209 sqlservr!MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64>::operator()+00000053 sqlservr!ReturnValueHolder<long>::ExecAndSaveReturnValue<MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+00000018 sqlservr!CallProtectorImpl::CallWithSEH<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+0000002A sqlservr!CallProtectorImpl::CallExternalFull<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+0000004D sqlservr!SOS_CallExternalFunctor<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> >+0000001D sqlservr!IWrapInterface<ICommandText>::HrCallExternal<MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> >+00000092 sqlservr!CWrapICommandText::Execute+00000230sqlservr!CRpcInterfaces::Relay+00000982 sqlservr!CStmtExecProc::XretRemoteExec+00000732 sqlservr!CRemoteProcExecLevel::Execute+00000160 sqlservr!CStmtExecProc::XretWrapRemoteExec+000001D5sqlservr!CStmtExecProc::XretExecExecute+0000078Esqlservr!CXStmtExecProc::XretExecute+0000004Esqlservr!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0000003Csqlservr!CMsqlExecContext::ExecuteStmts<1,1>+000002AA sqlservr!CMsqlExecContext::FExecute+00001023sqlservr!CSQLSource::Execute+00001091sqlservr!process_request+000006BC sqlservr!process_commands+000003C4 sqlservr!SOS_Task::Param::Execute+0000016B ntdll!RtlAllocateHeap+0001B970sqlncli10!SSVariantCopy+00000149 sqlncli10!CDataSource::DataConvert+0000BB50 sqlncli10!CDataSource::OLEDBdataFromSQLdata+00000D18 sqlncli10!CStmt::ProcessReturnValue+00000BC5 sqlncli10!CTdsSqloledb::OnReturnValue+00000018 sqlncli10!BATCHCTX::ProcessReturnValue+00000366 sqlncli10!BATCHCTX::Run+000004AD sqlncli10!CDBConnection::ProcessTDSStream+000001A7sqlncli10!CStmt::SQLExecRPC+00000602 sqlncli10!CCommand::ExecuteHelper+00000250 sqlncli10!CCommand::Execute+000013BB sqlncli10!CImpICommandText::Execute+00000209 sqlservr!MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64>::operator()+00000053sqlservr!ReturnValueHolder<long>::ExecAndSaveReturnValue<MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+00000018 sqlservr!CallProtectorImpl::CallWithSEH<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+0000002A sqlservr!CallProtectorImpl::CallExternalFull<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> const >+0000004D sqlservr!SOS_CallExternalFunctor<IWrapInterface<ICommandText>::CallTraitsNone,long,MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> >+0000001D sqlservr!IWrapInterface<ICommandText>::HrCallExternal<MethodCallBinder_5<long,ICommandText,long (__cdecl ICommand::*)(IUnknown * __ptr64,_GUID const & __ptr64,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64) __ptr64,IUnknown * __ptr64,_GUID,tagDBPARAMS * __ptr64,__int64 * __ptr64,IUnknown * __ptr64 * __ptr64> >+00000092 sqlservr!CWrapICommandText::Execute+00000230sqlservr!CRpcInterfaces::Relay+00000982 sqlservr!CStmtExecProc::XretRemoteExec+00000732sqlservr!CRemoteProcExecLevel::Execute+00000160sqlservr!CStmtExecProc::XretWrapRemoteExec+000001D5sqlservr!CStmtExecProc::XretExecExecute+0000078E sqlservr!CXStmtExecProc::XretExecute+0000004E sqlservr!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0000003C sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+000002AA sqlservr!CMsqlExecContext::FExecute+00001023 sqlservr!CSQLSource::Execute+00001091sqlservr!process_request+000006BC sqlservr!process_commands+000003C4

Atsauces

Lai iegūtu papildinformāciju par inkrementālās apkopes modeli sistēmai SQL Server, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

935897 inkrementālās apkopes modelis ir pieejams no SQL Server grupas, lai nodrošinātu labojumfailus paziņotajām problēmāmLai iegūtu papildinformāciju par nosaukumdošanas shēma SQL Server atjauninājumus, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

822499 Jauna Microsoft SQL Server programmatūras atjauninājumu pakotņu nosaukumdošanas shēmaLai iegūtu papildinformāciju par programmatūras atjauninājumu terminoloģiju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

824684 tiek izmantota Microsoft programmatūras atjauninājumu standarta terminoloģijas apraksts

Papildinformācija

SQL Server 2008 R2 BPA informācija

SQL Server 2008 R2 labākās prakses analizators (SQL Server 2008 R2 BPA) nodrošina kārtulu, lai noteiktu situācijas, kad SQL servera gadījums ir saistīts ar serveriem, kas ir konfigurēts izmantošanai, un šis labojums netiek lietota. SQL Server 2008 R2 BPA atbalsta gan SQL Server 2008 un SQL Server 2008 R2.Palaidiet rīku BPA un rodas brīdinājums "Database Engine — saistītā servera atmiņas noplūdes problēmu trūkst," jums pārbaudīt šajā rakstā minētajiem simptomiem un lietotu kumulatīvo atjauninājumu, kas atbilst.

Atsauces

Kārtulas programmatūra

Kārtulas nosaukums

Kārtulas identifikators

SQL Server 2008 R2 BPA kārtula

saistītie serveri atmiņas noplūdes problēmu trūkst

RID3807

Autors (SME): bruceyeAutors: ericzhaTehniskais redaktors: tejasaksRedaktors: v-lynan

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.