CORRECÇÃO: Poderá detectar a Corrupção de memória e SQL Server 2000 pode encerrar com violações de acesso fatal quando tenta procurar ficheiros em SQL Server 2000 Enterprise Manager num computador Windows Server 2003 x 64

Traduções de Artigos Traduções de Artigos
Artigo: 916950 - Ver produtos para os quais este artigo se aplica.
Erro: # 40000113 (correcção SQL)
A Microsoft distribui correcções Microsoft SQL Server 2000 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2000 anteriores corrigir lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve o seguinte sobre esta versão de correcção:
  • Problemas corrigidos por este pacote de correcções
  • Pré-requisitos para instalar o pacote de correcções
  • Informações sobre se tem de reiniciar o computador depois de instalar o pacote de correcção
  • Informações sobre se o pacote de correcções é substituído por qualquer outro pacote de correcção
  • Informações sobre se terá de efectuar quaisquer alterações de registo
  • Ficheiros contidos no pacote de correcção

Sintomas

Considere o seguinte cenário. Microsoft SQL Server 2000 Enterprise Manager está em execução no Microsoft Windows Server 2003 x 64 computador baseado no edição. Tentar procurar ficheiros e clique no botão de reticências (... ) na caixa de diálogo qualquer ficheiro no SQL Server 2000 Enterprise Manager. Neste cenário, poderá detectar danos de memória e do SQL Server pode encerrar com violações de acesso fatal.

Outros threads ou objectos tais como Microsoft Component objectos COM (Object Model) podem ser carregados para o SQL Server utilizando o procedimento sp_oacreate armazenados. Quando este comportamento ocorre, o OLEDB ligados servidor fornecedores que são executados no processo, correio de SQL, ou SQLXML também poderão ser afectado e pode causar o processo de SQL Server para encerrar. Além disso, poderá também detectar este problema nas ocorrências de cluster.

notas
  • Este problema afecta apenas as edições de 32 bits do SQL Server 2000 que são executados no Windows no subsistema Windows 64 (WOW64) no Windows Server 2003 as edições x 64.
  • Este problema de danos de memória não afecta qualquer uma das edições de SQL Server 2000 de 64 bits, tais como essas edições que são executados no IA-64 sistemas operativos que utilizam a arquitectura Intel Itanium 2.
  • Este problema não afecta edições de 32 bits do SQL Server que estão no subsistema WOW64 nos sistemas operativos de IA-64.
  • Este problema não afecta quaisquer edições do Microsoft SQL Server 2005.
Este problema pode ocorrer devido a sistema xp_availablemedia expandido o procedimento armazenado. Quando clica no botão de reticências (... ) na interface de utilizador gráfica (GUI, Graphical User Interface), o sistema xp_availablemedia procedimento armazenado expandido pode ser chamado para efectuar a operação de procura de ficheiro. Numa instância agrupada, Enterprise Manager chama o procedimento sp_MSSharedFixedDisk armazenados e o procedimento armazenado sp_MSSharedFixedDisk chama a expandido o procedimento armazenado do sistema xp_availablemedia .

Poderá não detectar a Corrupção de memória até outros threads utilizam pilha predefinido ou até memória da pilha é libertada. Qualquer módulo é executado no processo do Sqlservr.exe pode partilhar a pilha de predefinição num processo. Por conseguinte, este tipo de danos de memória pode afectar Xpstar.dll e outros módulos em que o sistema xp_availablemedia expandido o procedimento armazenado é compilado.

Para obter uma lista de todas as correcções disponibilizadas publicamente do SQL Server 2000 Post-Service Pack, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
894905Lista cumulativa de correcções que estão disponíveis para o SQL Server 2000 SP4

Resolução

O programa de instalação não instala esta correcção correctamente em sistemas baseados em 64 x. Este problema de instalação ocorre quando se verificam as seguintes condições:
  • O sistema utiliza a arquitectura de processador AMD64 Advanced Micro Devices (AMD) ou a arquitectura de processador Intel Extended Memory 64 Technology (EM64T).

    Nota Este problema não ocorre em sistemas que utilizam a arquitectura de processador Intel Itanium.
  • O sistema está com uma versão de 64 bits do sistema operativo Microsoft Windows Server.
  • O sistema está com uma versão de 32 bits do SQL Server 2000.
A Microsoft corrigiu este problema de instalação em versões posteriores do SQL Server 2000, a partir da versão 8.00.2244. Quando um cliente que está a executar o SQL Server 2000 num sistema x 64 pede esta correcção, a Microsoft fornecerá uma compilação que inclui esta correcção e que pode ser instalado correctamente num sistema x 64. A compilação que fornecemos será versão 8.00.2244 ou uma versão posterior.

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentada, submeta um pedido para o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Tem de ter o Microsoft SQL Server 2000 Service Pack 4 (SP4) instalado para aplicar esta correcção.

Para obter mais informações sobre como obter o SQL Server Service Pack 4, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre reinício

Depois de instalar esta correcção, o serviço SQL Server será reiniciado automaticamente.

Informações de registo

Não é necessário alterar o registo.

Informações sobre ficheiros da correcção

Esta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção não pode conter de todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item Data e hora no painel de controlo.
Versões do SQL Server 2000 de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Dtsui.dll2000.80.2191.01,593,34427-Mar-200621: 10x 86
Impprov.dll2000.80.2191.0102,40027-Mar-200621: 10x 86
Msgprox.dll2000.80.2191.094,20827-Mar-200621: 10x 86
Msrpjt40.dll4.10.9424.0188,47324 De Janeiro de 200608: 13x 86
Mssdi98.dll8.11.50523.0239,10406-Jun-200522: 46x 86
Ntwdblib.dll2000.80.2191.0290,81627-Mar-200621: 10x 86
Odsole70.dll2000.80.2191.069,63227-Mar-200621: 10x 86
OSQL.exe2000.80.2191.057,34427-Mar-200619: 25x 86
Pfclnt80.dll2000.80.2191.0430,08027-Mar-200621: 10x 86
Replmerg.exe2000.80.2191.0163,84027-Mar-200619: 34x 86
Replprov.dll2000.80.2191.0237,56827-Mar-200621: 10x 86
Replrec.dll2000.80.2191.0315,39227-Mar-200621: 10x 86
Replsub.dll2000.80.2191.0270,33627-Mar-200621: 10x 86
Semexec.dll2000.80.2191.0856,06427-Mar-200621: 10x 86
Sqlagent.exe2000.80.2191.0323,58427-Mar-200619: 09x 86
Sqldiag.exe2000.80.2191.0118,78427-Mar-200620: 15x 86
Sqldmo.dll2000.80.2191.04,362,24027-Mar-200621: 10x 86
Sqlfth75.dll2000.80.2191.0102,40027-Mar-200619: 23x 86
Sqlservr.exe2000.80.2191.09,162,75227-Mar-200621: 10x 86
Sqlsort.dll2000.80.2191.0589,82427-Mar-200621: 11x 86
Stardds.dll2000.80.2191.0176,12827-Mar-200621: 11x 86
Svrnetcn.dll2000.80.2191.0110,59227-Mar-200621: 11x 86
Ums.dll2000.80.2191.035,32827-Mar-200621: 11x 86
Xpstar.dll2000.80.2191.0311,29627-Mar-200621: 11x 86
Versão da arquitectura Itanium do SQL Server 2000
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Impprov.dll2000.80.2191.0244,73627-Mar-200621: 14IA-64
Msgprox.dll2000.80.2191.0188,41627-Mar-200621: 16IA-64
Mssdi98.dll8.11.50523.0758,78406-Jun-200522: 46IA-64
Odsole70.dll2000.80.2191.0150,52827-Mar-200621: 13IA-64
OSQL.exe2000.80.2191.0149,50427-Mar-200621: 13IA-64
Pfclnt80.dll2000.80.2191.01,187,84027-Mar-200621: 35IA-64
Replmerg.exe2000.80.2191.0375,29627-Mar-200621: 17IA-64
Replprov.dll2000.80.2191.0538,62427-Mar-200621: 20IA-64
Replrec.dll2000.80.2191.0775,16827-Mar-200621: 19IA-64
Replsub.dll2000.80.2191.0641,02427-Mar-200621: 21IA-64
Sqlagent.exe2000.80.2191.01,061,37627-Mar-200621: 38IA-64
Sqldiag.exe2000.80.2191.0334,33627-Mar-200621: 37IA-64
Sqldmo.dll2000.80.2191.013,860,35227-Mar-200621: 42IA-64
Sqlfth75.dll2000.80.2191.0246,78427-Mar-200621: 16IA-64
Sqlservr.exe2000.80.2191.024,973,31228-Mar-200602: 22IA-64
Sqlsort.dll2000.80.2191.0617,47227-Mar-200619: 09IA-64
Svrnetcn.dll2000.80.2191.0427,52027-Mar-200621: 32IA-64
Xpstar.dll2000.80.2191.0873,47227-Mar-200621: 41IA-64

Como contornar

Para contornar este problema, pode impedir temporariamente a utilização do sistema xp_availablemedia expandido o procedimento armazenado. Para o fazer, utilize o seguinte exemplo de código.
use master
	go
	if exists (select * from master.dbo.sysobjects where name = N'xp_availablemedia' 
			and type = N'X')
	exec sp_dropextendedproc N'xp_availablemedia'
go
se pretender voltar a adicionar o sistema xp_availablemedia expandido procedimento depois de instalar a correcção, utilize o seguinte exemplo de código.
use master
	go
	sp_addextendedproc N'xp_availablemedia',N'xpstar.dll'
	go
se remover o procedimento, qualquer chamada ao procedimento sp_MSSharedFixedDisk armazenados falha e qualquer caixa de diálogo ficheiros em SQL Server 2000 Enterprise Manager não é apresentada. Não consegue receber uma mensagem de erro no Designer DTS. No entanto, as caixas de diálogo ficheiros não aparecem. Depois de remover o sistema xp_availablemedia expandido o procedimento armazenado, tem de escrever manualmente o nome do ficheiro ou a localização da pasta que pretende. Além disso, depois de remover o sistema de xp_availablemedia expandido o procedimento armazenado e clique no botão de reticências (... ) no SQL Server 2000 Enterprise Manager, receber a seguinte mensagem de erro num Microsoft SQL-DMO (SQLState ODBC: 42000) caixa de diálogo:
Erro 2812: Não foi possível localizar o procedimento armazenado 'xp_availablemedia'.
Nota O sistema xp_availablemedia procedimento armazenado expandido pode ser automaticamente readicionado ao SQL Server quando qualquer uma das seguintes condições for verdadeira:
  • Restaurar a base de dados principal.
  • Reconstruir a base de dados principal utilizando o Rebuildm.exe utilitário.
  • Instalar um service pack ou uma correcção.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Normalmente, o ntdll! RtlpCoalesceFreeBlocks ou ntdll! RtlFreeHeap funções são as funções que são vítimas na parte superior da pilha de thread quando ocorre Corrupção de memória na pilha de predefinido. No entanto, estas funções não são as funções de apenas este tipo de danos de memória poderá afectar. Portanto, a pilha de thread de violação de acesso para qualquer utilizador pode variar. Além disso, não é possível determinar a causa dos danos pilha examinando a pilha de thread vítima apenas e a causa dos danos pilha pode ser causada por outros factores que não estão listados neste artigo.

Por exemplo, uma chamada para o sistema xp_availablemedia procedimento armazenado expandido pode semelhante ao seguinte:
  • No SQL Server Enterprise Manager, expandir o SQL Server , expanda Management , clique com o botão direito do rato cópia de segurança e em seguida, clica Novo dispositivo de cópia de segurança .
  • Na caixa de diálogo Propriedades do dispositivo cópia de segurança - novo dispositivo , clique no botão reticências (... ) junto ao nome do ficheiro para localizar um dispositivo.
O sistema xp_availablemedia expandido procedimento também pode ser chamado programaticamente utilizando DMO SQL. Chamar o método de EnumAvailableMedia de um objecto DMO do SQL Server juntamente com um valor de parâmetro MediaType de SQLDMOMedia_All, SQLDMOMedia_Tape ou SQLDMOMedia_SharedFixedDisk. Independentemente de como utilizar o procedimento, o resultado poderá sempre ser o mesmo.

Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 916950 - Última revisão: 2 de novembro de 2007 - Revisão: 1.9
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition nas seguintes plataformas
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
Palavras-chave: 
kbmt kbautohotfix kbbug kbhotfixserver kbqfe KB916950 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 916950

Submeter comentários

 

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