CORRECÇÃO: Chamada remoto procedimento armazenado dentro do local de procedimento armazenado ao passar parâmetros de texto faz com que AV

Traduções de Artigos Traduções de Artigos
Artigo: 299366 - Ver produtos para os quais este artigo se aplica.
N.º DE BUGS: 351307 (SHILOH_BUGS)
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Chamar um procedimento armazenado remoto dentro de um procedimento armazenado local ao passar um parâmetro de texto poderá causar uma violação de acesso (AV) no servidor local.

Este problema foi isolado às seguintes condições:
  • No servidor de destino, existe um procedimento armazenado que aceita um parâmetro de texto (ou NTEXT).
  • No servidor de origem, existe um procedimento armazenado local que chame o procedimento armazenado remoto no servidor de destino pelo nome totalmente qualificado ao passar um parâmetro de texto (ou NTEXT).

Resolução

Para resolver este problema, obtenha o service pack mais recente do SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211INF: How to Obtain the Latest SQL Server 2000 Service Pack

Como contornar

Modificar directamente, o campo de texto (ou NTEXT) em vez de efectuar chamadas de procedimento armazenado.

Ponto Da Situação

A Microsoft confirmou que este é um problema no SQL Server 2000. Este problema foi corrigido pela primeira vez no SQL Server 2000 Service Pack 1.

Mais Informação

Passos para reproduzir o comportamento

Os seguintes passos reproduzir o problema no SQL Server 2000 compilação 8.00.194:
  1. No servidor de origem, crie um servidor ligado para o servidor de destino.
  2. Estabelecer ligação com o servidor de origem utilizando o analisador de consultas e execute a seguinte consulta:
    use pubs
    go
    
    CREATE procedure sp_local
    @ptxtText TEXT
    as
    exec destination_servername here.pubs.dbo.sp_remote  @ptxtText
    GO
    					
  3. No servidor de destino, crie um procedimento armazenado da seguinte forma:
    use pubs
    go
    
    create procedure sp_remote
    @ptxtTest TEXT
    as
    go
    					
  4. Execute a seguinte consulta no servidor de origem:
    sp_local 'mytest'
    					
    ocorre uma violação de acesso no servidor de origem.
-------------------------------------------------------------------------------
Short Stack Dump
00000000 Module(sqlservr+FFC00000)
006D6FF9 Module(sqlservr+002D6FF9) (CXVariant::ClearDeep(void)+00000047)
0040A849 Module(sqlservr+0000A849) (CXVariant::Clear(void)+0000000D)
006134D6 Module(sqlservr+002134D6)(CExecParamTbl::ResetTextParams(void)+00000046)
0079726F Module(sqlservr+0039726F) (CRuleCollection::LoadRules(class IMemObj *)+00004B19)
-------------------------------------------------------------------------------
				

Propriedades

Artigo: 299366 - Última revisão: 5 de novembro de 2003 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB299366 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: 299366

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