Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Помилка #: 115124 (супровід вмісту)
VSTS помилка, номер: 316475
VSTS помилка, номер: 365460

Корпорація Майкрософт поширює виправлень, Microsoft SQL Server 2008 в одному завантажуваному файлі. Через те, що ці виправлення сукупні, кожен новий пакет, містить усі поточні виправлення, і усі виправлення безпеки, що входили до складу попередніх SQL Server 2008 виправити, випуск.

Причини

У Microsoft SQL Server 2005 або SQL Server 2008 запустіть збережену процедуру на віддаленому сервері, за допомогою зв'язаного сервера. Після виконання збереженої процедури багато часу, ви можете знайти служби SQL Server, використання пам'яті швидко збільшується. Крім того, у SQL Server 2008 errorlog log реєструється різні помилки повідомлення відповідних вичерпання пам'яті, MemTolLeave адресного простору.

Примітка. Ця проблема може також виникнути під час використання реплікації доставка журналів або дзеркалювання. Ці функції, може використовувати збережених процедур, які використовують пов'язаний сервер.

Причина

Ця проблема викликана втрата пам'яті, яка виникає під час виконання запиту, який використовує пов'язаний сервер. Витік виникає, коли ви зателефонуєте віддаленого збережену процедуру. Існує два види потенційні втрата:

  • Значення збережених процедур виклику є завжди витік. Це невелика, але регулярно витік.

  • Виклик віддалених збережену процедуру з параметрами sqlvariant тип даних.

Вирішення

SQL Server 2008 із пакетом оновлень 1


Виправлення для цієї проблеми спочатку було випущено у сукупний пакет оновлень 3 для SQL Server 2008 з пакетом оновлень 1. Щоб отримати додаткові відомості про цей пакет накопичувальне оновлення клацніть номер статті в базі знань Microsoft Knowledge Base:

971491 сукупного оновлення, пакет 3 для SQL Server 2008 з пакетом оновлень 1Примітка. Оскільки ці збірки сукупні, кожен новий пакет, містить усі виправлення, і усі виправлення безпеки, що входили до складу попередніх SQL Server 2008 виправити, випуск. Корпорація Майкрософт рекомендує, що ви вважаєте, що застосування останньому випуску виправити, що містить це виправлення. Щоб отримати додаткові відомості, клацніть номер статті в базі знань Microsoft:

970365 у SQL Server 2008 будує, які були надані після випуску SQL Server 2008 з пакетом оновлень 1
Microsoft SQL Server 2008, термінові виправлення, створені для окремих пакети SQL Server. До інсталяції SQL Server 2008 з пакетом оновлень 1, потрібно застосувати виправлення SQL Server 2008 з пакетом оновлень 1. За промовчанням виправлення, яке надається у SQL Server із пакетом оновлень включено до чергового пакета оновлень у SQL Server.

SQL Server 2005 з пакетом оновлень 3


Виправлення для цієї проблеми була вперше випущена у накопичувальне оновлення 6, для пакета оновлень 3 для SQL Server 2005. Щоб отримати додаткові відомості про цей пакет накопичувальне оновлення клацніть номер статті в базі знань Microsoft Knowledge Base:

974648 сукупного оновлення пакета 6, для пакета оновлень 3 для SQL Server 2005Примітка. Оскільки ці збірки сукупні, кожен новий пакет, містить усі виправлення, і усі виправлення безпеки, що входили до складу попередніх SQL Server 2005, виправити випуску. Корпорація Майкрософт рекомендує, що ви вважаєте, що застосування останньому випуску виправити, що містить це виправлення. Щоб отримати додаткові відомості, клацніть номер статті в базі знань Microsoft:

960598 до SQL Server 2005 будує, які були надані після випуску пакета оновлень 3 для SQL Server 2005
Microsoft SQL Server 2005, термінові виправлення, створені для окремих пакети SQL Server. Для інсталяції пакета оновлень 3 для SQL Server 2005, потрібно застосувати виправлення пакета оновлень 3 для SQL Server 2005. За промовчанням виправлення, яке надається у SQL Server із пакетом оновлень включено до чергового пакета оновлень у SQL Server.

Версія для SQL Server 2008

Увага! Якщо використовується версія, SQL Server 2008, необхідно інсталювати це виправлення.

Виправлення для цієї проблеми була випущена у накопичувальне оновлення 8. Щоб отримати додаткові відомості про те, як отримати цей пакет накопичувальне оновлення для SQL Server 2008 клацніть номер статті в базі знань Microsoft Knowledge Base:

975976 сукупного пакет оновлень пакета 8 для SQL Server 2008Примітка. Оскільки ці збірки сукупні, кожен новий пакет, містить усі виправлення, і усі виправлення безпеки, що входили до складу попередніх SQL Server 2008 виправити, випуск. Корпорація Майкрософт рекомендує, що ви вважаєте, що застосування останньому випуску виправити, що містить це виправлення. Щоб отримати додаткові відомості, клацніть номер статті в базі знань Microsoft:

956909 у SQL Server 2008 будує, які були надані після випуску SQL Server 2008

Стан

Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".

Додаткові відомості

Відомості про стек викликів

У полі вміст стосу за промовчанням можна побачити це витік в пам'яті. Хоча б один витік шаблон буде 40 байт. Це CXVariant структуру для значення розміру. LFH динамічної може не відображатись 40 байт витоку належним чином і може відображатися втрата 4 КБ, 64 Кб діапазонів, якщо використовується в ! купу < heaphandle > - a -k с повний дамп файл.

Примітка. За промовчанням Windows Server 2008, Windows Vista, Windows 7 і Windows Server 2008 R2 буде використовувати LFH пам'яті для вміст стосу за промовчанням, у процесі SQL Server.

Протікає стовпців буде такого роду показує, UMDH або DebugDiag. UMDH, DebugDiag і ! купу-l команди, що всі показують, це, як загальні стека витік стан повернення проблеми:

Примітка. Залежно від постачальника, який використовується постачальник інформація може бути sqlncli10.


ntdll!RtlAllocateHeap+0001B970sqlncli10!CDataSource::DataConvert+0000C898
sqlncli10!CDataSource::OLEDBdataFromSQLdata+0000018C
sqlncli10!CStmt::ProcessReturnStatus+000001FA
sqlncli10!BATCHCTX::Run+000005BA
sqlncli10!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 >+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+00000230
sqlservr!CRpcInterfaces::Relay+00000982
sqlservr!CStmtExecProc::XretRemoteExec+00000732
sqlservr!CRemoteProcExecLevel::Execute+00000160
sqlservr!CStmtExecProc::XretWrapRemoteExec+000001D5
sqlservr!CStmtExecProc::XretExecExecute+0000078E
sqlservr!CXStmtExecProc::XretExecute+0000004E
sqlservr!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0000003C
sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+000002AA
sqlservr!CMsqlExecContext::FExecute+00001023
sqlservr!CSQLSource::Execute+00001091
sqlservr!process_request+000006BC
sqlservr!process_commands+000003C4
sqlservr!SOS_Task::Param::Execute+0000016B
sqlservr!SOS_Scheduler::RunTask+000001A5
sqlservr!SOS_Scheduler::ProcessTasks+000002E7

Here are the call stacks for the SQL Variant output parameter leak for sql_variant:

ntdll!RtlAllocateHeap+0001B970
sqlncli10!CDataSource::DataConvert+0000BAD2
sqlncli10!CDataSource::OLEDBdataFromSQLdata+00000D18
sqlncli10!CStmt::ProcessReturnValue+00000BC5
sqlncli10!CTdsSqloledb::OnReturnValue+00000018
sqlncli10!BATCHCTX::ProcessReturnValue+00000366
sqlncli10!BATCHCTX::Run+000004AD
sqlncli10!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 >+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+00000230
sqlservr!CRpcInterfaces::Relay+00000982
sqlservr!CStmtExecProc::XretRemoteExec+00000732
sqlservr!CRemoteProcExecLevel::Execute+00000160
sqlservr!CStmtExecProc::XretWrapRemoteExec+000001D5
sqlservr!CStmtExecProc::XretExecExecute+0000078E
sqlservr!CXStmtExecProc::XretExecute+0000004E
sqlservr!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0000003C
sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+000002AA
sqlservr!CMsqlExecContext::FExecute+00001023
sqlservr!CSQLSource::Execute+00001091
sqlservr!process_request+000006BC
sqlservr!process_commands+000003C4
sqlservr!SOS_Task::Param::Execute+0000016B

ntdll!RtlAllocateHeap+0001B970
sqlncli10!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+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 >+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+00000230
sqlservr!CRpcInterfaces::Relay+00000982
sqlservr!CStmtExecProc::XretRemoteExec+00000732
sqlservr!CRemoteProcExecLevel::Execute+00000160
sqlservr!CStmtExecProc::XretWrapRemoteExec+000001D5
sqlservr!CStmtExecProc::XretExecExecute+0000078E
sqlservr!CXStmtExecProc::XretExecute+0000004E
sqlservr!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0000003C
sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+000002AA
sqlservr!CMsqlExecContext::FExecute+00001023
sqlservr!CSQLSource::Execute+00001091
sqlservr!process_request+000006BC
sqlservr!process_commands+000003C4

Посилання

Щоб отримати додаткові відомості про Покрокову модель обслуговування для SQL Server клацніть номер статті в базі знань Microsoft Knowledge Base:

935897 в додаткових обслуговування модель доступна з команди SQL Server, щоб доставити виправлень для повідомляли про проблеми


Щоб отримати додаткові відомості про присвоєння імен оновленням для SQL Server клацніть номер статті в базі знань Microsoft Knowledge Base:

822499 Нова схема присвоєння імен пакетам оновлень програмного забезпечення для Microsoft SQL Server

Щоб отримати додаткові відомості про термінологію оновлення програмного забезпечення, клацніть цей номер статті в базі знань Microsoft:

824684 Опис стандартну термінологію, яка використовується для опису оновлень програмних продуктів Майкрософт

Додаткові відомості

SQL Server 2008 R2 BPA відомості про

У SQL Server 2008 R2 аналізаторі (SQL Server 2008 R2 BPA), містить правило ситуацій, в яких екземпляра SQL Server пов'язаний серверів, які настроєно на використання і це виправлення не застосовується. SQL Server 2008 R2 BPA підтримується в SQL Server 2008, так і SQL Server 2008 R2.

Якщо запустити засіб BPA і зустріч попередження, "Ядро бази даних – пов'язаний сервер пам'яті витік виправлення, відсутній," потрібно перевірити ознаки, згадані в цій статті та застосувати сукупний пакет оновлень, який відповідає.

Посилання

Правило програмного забезпечення

Назва правила

Ідентифікатор правила

SQL Server 2008 R2 BPA-правила

зв'язаний сервер витік пам'яті виправити відсутній

RID3807






Автор (SME): bruceye
Автор: ericzha
Технічний редактор: tejasaks
Редактор: v-lynan

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×