Исправление: Утечка памяти происходит при использовании sp_OAMethod хранимой процедуры или sp_OAGetProperty хранимые процедуры для вызова метода COM-объекта в SQL Server 2005

Переводы статьи Переводы статьи
Код статьи: 937277 - Vizualiza?i produsele pentru care se aplic? acest articol.
Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2005 файл с исправлениями. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2005 исправление выпуска.
Развернуть все | Свернуть все

В этой статье

Далее в статье о выпуске исправлений:
  • Проблем, устраняемых данным пакетом исправлений
  • необходимые условия для установки исправления;
  • необходимость перезагрузки компьютера после установки исправления;
  • замена исправления другими исправлениями;
  • необходимость изменения реестра;
  • Файлы, содержащиеся в пакете исправлений

Проблема

В Microsoft SQL Server 2005, при вызове метода объекта модели (COM) объект компонента с помощьюsp_OAMethodХранимая процедура илиsp_OAGetPropertyхранимой процедуре, возникает утечка памяти. Дляsp_OAMethodхранимые процедуры, эта проблема возникает, если метод возвращает результат вВывод:параметр метода. Дляsp_OAGetPropertyхранимую процедуру, эта проблема возникает, если хранимая процедура возвращает значение свойства вВывод:Parameter:.

Кроме того Если область памяти пула выходит в буфер утечки памяти, в журнале ошибок SQL Server регистрируется следующее сообщение об ошибке:
2008-05-01 08:35:07.80 spid535 Downgrading резервного копирования буферы журнала из 1024K 64 КБ
Ошибка виртуальной spid77 09:35:22.55 2008-05-06 распределения байт: FAIL_VIRTUAL_RESERVE 1 048 576
Ошибка spid593 10:48:04.85 2008-05-06: 701, уровень опасности: 17, состояние: 123.
Существует spid593 10:48:04.85 2008-05-06-это Недостаточно системной памяти для выполнения данного запроса.

Причина

Данная проблема возникает из SQL Server 2005 не освобождает память, выделенную для переменной, которая содержит значение параметра выходных данных.

Решение

Сведения о накопительном обновлении

Исправление, устраняющее эту проблему, сначала было выпущено в накопительное обновление 2. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2005 с пакетом обновления 2 (SP2) щелкните следующий номер статьи базы знаний Майкрософт:
936305Накопительный пакет обновления 2 для SQL Server 2005 с пакетом обновления 2 (SP2)
Примечание.Поскольку сборки являются накопительными, каждый новый выпуск исправление содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2005 исправление выпуска. Корпорация Майкрософт рекомендует, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
937137SQL Server 2005 собирает, выпущенных после выпуска SQL Server 2005 с пакетом обновления 2 (SP2)
Исправления для Microsoft SQL Server 2005 создаются для определенных пакетов обновления для SQL Server. Необходимо применить исправление SQL Server 2005 с пакетом обновления 2 (SP2) для установки SQL Server 2005 с пакетом обновления 2 (SP2). По умолчанию все исправления, входящие в пакет обновления SQL Server включено в следующий пакет обновления для SQL Server.

Сведения об исправлении

Вам доступно исправление от корпорации Майкрософт.. Это исправление предназначено для устранения проблемы, описанной в этой статье.. Его необходимо применять только в тех системах, в которых наблюдается данная проблема.. Исправление может проходить дополнительное тестирование.. Таким образом эта проблема не является постоянной для вас, мы рекомендуем дождаться следующего автоматического обновления программного обеспечения, содержащего это исправление..

Если исправление доступно для загрузки, имеется раздел «Доступные загрузки» в верхней части этой статьи базы знаний.. Если этот раздел не отображается, обратитесь в Службу поддержки клиентов Microsoft для получения исправления..

Примечание.Другие проблемы или если требуется устранить неполадки, возможно, потребуется создать отдельный запрос. Дополнительные услуги по технической поддержке, не связанные с данным исправлением, оплачиваются вами дополнительно.. Полный список телефонов поддержки и обслуживания клиентов Microsoft или информацию по созданию отдельного запроса на обслуживание вы можете найти на веб-сайте Майкрософт::
http://support.microsoft.com/contactus/?ws=support
Примечание.В форме "Исправление доступно для загрузки" отображаются языки, для которых доступно исправление. Если язык не отображается, это значит, что исправление не доступно для данного языка..

Предвартельные требования

Необходимо иметь Microsoft SQL Server 2005 обновления пакет обновления 1 (SP1) для установки этого исправления.

Для получения дополнительных сведений о том, как получить SQL Server 2005 с пакетом обновления 1 (SP1) щелкните следующий номер статьи базы знаний Майкрософт:
913089Получение последнего пакета обновления для SQL Server 2005

Сведения о перезагрузке компьютера

После установки исправления перезагружать компьютер не требуется..

Сведения о внесении изменений в системный реестр

Нет изменений в реестр.

Сведения о файле исправления

Данное исправление содержит только те файлы, необходимые для устранения описанных в этой статье перечислены. Это исправление может содержать не все файлы, необходимые для полного обновления продукта до последней сборки..Английская версия исправления содержит версии файлов, приведенные в следующей таблице (или более поздние).. Дата и время для файлов указаны во всеобщем скоординированном времени (UTC).. При просмотре сведений о файле, время изменяется на местное.. Чтобы узнать разницу между временем по Гринвичу и местным временем,Часовой поясна вкладкеДата и времяэлемент панели управления.
SQL Server 2005 32-разрядная версия
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
BCP.exe2005.90.2232.069,48809 Мая 2007 г.19: 36X86
Databasemailengine.dll9.0.2232.075,12009 Мая 2007 г.19: 36X86
Logread.exe2005.90.2232.0400,75209 Мая 2007 г.19: 37X86
Microsoft.AnalysisServices.adomdclient.dll9.0.2232.0546,16009 Мая 2007 г.19: 37X86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2232.0140,65609 Мая 2007 г.19: 37X86
Microsoft.AnalysisServices.dll9.0.2232.01,217,90409 Мая 2007 г.19: 37X86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2232.078,19209 Мая 2007 г.19: 37X86
Microsoft.SqlServer.sqlenum.dll9.0.2232.0910,70409 Мая 2007 г.19: 37X86
Msasxpress.dll9.0.2232.024,94409 Мая 2007 г.19: 37X86
Msgprox.dll2005.90.2232.0200,56009 Мая 2007 г.19: 37X86
Msmdlocal.dll9.0.2232.015,646,06409 Мая 2007 г.19: 37X86
Msmdredir.dll9.0.2232.03,993,96809 Мая 2007 г.19: 37X86
Odsole70.dll2005.90.2232.059,76009 Мая 2007 г.19: 37X86
Qrdrsvc.exe2005.90.2232.0369,52009 Мая 2007 г.19: 37X86
Rdistcom.dll2005.90.2232.0643,44009 Мая 2007 г.19: 37X86
Repldp.dll2005.90.2232.0187,24809 Мая 2007 г.19: 37X86
Replmerg.exe2005.90.2232.0320,88009 Мая 2007 г.19: 37X86
Replprov.dll2005.90.2232.0550,25609 Мая 2007 г.19: 37X86
Replrec.dll2005.90.2232.0784,75209 Мая 2007 г.19: 37X86
Replsub.dll2005.90.2232.0407,40809 Мая 2007 г.19: 37X86
Spresolv.dll2005.90.2232.0177,00809 Мая 2007 г.19: 37X86
SqlAccess.dll2005.90.2232.0350,57609 Мая 2007 г.19: 37X86
Sqlagent90.exe2005.90.2232.0321,39209 Мая 2007 г.19: 37X86
Sqlservr.exe2005.90.2232.028,979,11209 Мая 2007 г.19: 37X86
Sqsrvres.dll2005.90.2232.066,41609 Мая 2007 г.19: 37X86
Xmlsub.dll2005.90.2232.0195,44009 Мая 2007 г.19: 37X86
Xpstar90.dll2005.90.2232.0295,28009 Мая 2007 г.19: 37X86
Xpstar90.rll2005.90.2232.0155,50409 Мая 2007 г.19: 37X86
SQL Server 2005 x 64-разрядная версия
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
BCP.exe2005.90.2232.088,94409 Мая 2007 г.16: 46X64
Databasemailengine.dll9.0.2232.075,12009 Мая 2007 г.16: 46X86
Logread.exe2005.90.2232.0525,16809 Мая 2007 г.16: 46X64
Microsoft.AnalysisServices.adomdclient.dll9.0.2232.0546,16009 Мая 2007 г.16: 46X86
Microsoft.AnalysisServices.adomdclient.dll9.0.2232.0546,16009 Мая 2007 г.19: 37X86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2232.0140,65609 Мая 2007 г.19: 37X86
Microsoft.AnalysisServices.dll9.0.2232.01,217,90409 Мая 2007 г.19: 37X86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2232.094,06409 Мая 2007 г.16: 46X64
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2232.078,19209 Мая 2007 г.19: 37X86
Microsoft.SqlServer.sqlenum.dll9.0.2232.0877,93609 Мая 2007 г.16: 46X86
Msasxpress.dll9.0.2232.030,06409 Мая 2007 г.16: 46X64
Msasxpress.dll9.0.2232.024,94409 Мая 2007 г.19: 37X86
Msgprox.dll2005.90.2232.0262,00009 Мая 2007 г.16: 46X64
Msmdlocal.dll9.0.2232.015,646,06409 Мая 2007 г.19: 37X86
Msmdredir.dll9.0.2232.03,993,96809 Мая 2007 г.19: 37X86
Odsole70.dll2005.90.2232.090,99209 Мая 2007 г.16: 46X64
Qrdrsvc.exe2005.90.2232.0434,03209 Мая 2007 г.16: 46X64
Rdistcom.dll2005.90.2232.0836,46409 Мая 2007 г.16: 46X64
Repldp.dll2005.90.2232.0237,93609 Мая 2007 г.16: 46X64
Repldp.dll2005.90.2232.0187,24809 Мая 2007 г.19: 37X86
Replmerg.exe2005.90.2232.0417,64809 Мая 2007 г.16: 46X64
Replprov.dll2005.90.2232.0747,88809 Мая 2007 г.16: 46X64
Replrec.dll2005.90.2232.01,010,54409 Мая 2007 г.16: 46X64
Replsub.dll2005.90.2232.0528,24009 Мая 2007 г.16: 46X64
Spresolv.dll2005.90.2232.0225,64809 Мая 2007 г.16: 46X64
SqlAccess.dll2005.90.2232.0357,74409 Мая 2007 г.16: 46X86
Sqlagent90.exe2005.90.2232.0392,56009 Мая 2007 г.16: 46X64
Sqlservr.exe2005.90.2232.039,373,16809 Мая 2007 г.16: 46X64
Sqsrvres.dll2005.90.2232.078,19209 Мая 2007 г.16: 46X64
Xmlsub.dll2005.90.2232.0319,85609 Мая 2007 г.16: 46X64
Xpstar90.dll2005.90.2232.0543,60009 Мая 2007 г.16: 46X64
Xpstar90.rll2005.90.2232.0156,01609 Мая 2007 г.16: 46X64

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..

Ссылки

Для получения дополнительных сведений о ту же проблему в Microsoft SQL Server 2000 щелкните следующий номер статьи базы знаний Майкрософт:
816937Исправление: Утечка памяти может возникать при использовании sp_OAMethod хранимые процедуры для вызова метода COM-объекта
Для получения дополнительных сведений о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Дополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в следующей статье базы знаний Майкрософт::
824684Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Дополнительная информация

В следующем образце сценарияsp_OAMethodХранимая процедура,sp_OAGetPropertyХранимая процедура для получения результатов с помощьюВывод:Parameter:. Если запустить этот сценарий повторно на новое подключение к SQL Server 2005, происходит утечка памяти происходит каждый раз.
DECLARE @object int;
DECLARE @hr int;
DECLARE @src varchar(255), @desc varchar(255);
EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @object OUT;
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
RETURN 
END
EXEC @hr = sp_OASetProperty @object, 'LoginSecure', 'TRUE'
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
EXEC @hr = sp_OAMethod @object, 'Connect', NULL, '<ComputerName>\<InstanceName>'
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
DECLARE @property varchar(255)
EXEC @hr = sp_OAMethod @object, 'HostName', @property OUT
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property
EXEC @hr = sp_OAGetProperty @object, 'HostName', @property OUT
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property
EXEC @hr = sp_OADestroy @object
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
Кроме того может возникнуть нарушение прав доступа из-за возникновения проблемы, описанной в разделе «Проблема». Файл журнала ошибок SQL содержит следующие сведения:
2008-03-24 10:03:09.51 spid51      Using 'odsole70.dll' version '2005.90.1399' to execute extended stored procedure 'sp_OACreate'. This is an informational message only; no user action is required.
2008-03-24 10:03:13.43 spid51      Using 'dbghelp.dll' version '4.0.5'
2008-03-24 10:03:13.51 spid51      ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\LOG\SQLDump0001.txt
2008-03-24 10:03:13.53 spid51      SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
2008-03-24 10:03:13.53 spid51      * *******************************************************************************
2008-03-24 10:03:13.53 spid51      *
2008-03-24 10:03:13.53 spid51      * BEGIN STACK DUMP:
2008-03-24 10:03:13.53 spid51      *   03/24/08 10:03:13 spid 51
2008-03-24 10:03:13.53 spid51      *
2008-03-24 10:03:13.54 spid51      *
2008-03-24 10:03:13.54 spid51      *   Exception Address = 0000000033387164 Module(odsole70+0000000000007164)
2008-03-24 10:03:13.54 spid51      *   Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION
2008-03-24 10:03:13.54 spid51      *   Access Violation occurred reading address 0000000006264FF8
Исправление этой проблемы находится в файле Odsole70.dll. Фиксированный первую версию двоичного файла является 2005.90.2232.0.

SQL Server 2005 с пакетом обновления 2 (SP2) не содержит этого основного двоичного файла. If you experience this problem in SQL Server 2005 SP2, you must install a cumulative update to fix this problem.

Первый накопительное обновление, которое включает в себя исправление — это накопительное обновление 2 для SQL Server 2005 SP2. Сборка для этого обновления является 09.00.3175. Таким образом можно установить последнее накопительное обновление для SQL Server 2005 или любой накопительное обновление, выпущенное после июнь 2007 г. для решения этой проблемы.

Для получения дополнительных сведений о накопительные обновления для SQL Server 2005 с пакетом обновления 2 (SP2) щелкните следующий номер статьи базы знаний Майкрософт:
937137SQL Server 2005 собирает, выпущенных после выпуска SQL Server 2005 с пакетом обновления 2 (SP2)
Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования.

Свойства

Код статьи: 937277 - Последний отзыв: 28 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
Ключевые слова: 
kbautohotfix kbHotfixServer kbfix kbexpertiseadvanced kbqfe kbmt KB937277 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:937277

Отправить отзыв

 

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