Entrar

CORRECÇÃO: Uma subconsulta correlacionada em exibições particionadas com operações de texto pode causar violação de acesso

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

291274
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
BUG #: 352264 (SHILOH_BUGS)
Sintomas
Uma violação de acesso (VA) pode ocorrer quando selecionando particionado modos de exibição sob as seguintes condições:
  • Os modos de exibição contém pelo menos uma coluna text ou ntext.
  • Uma função de texto é usada para avaliar uma coluna de texto na pai, selecione.
  • Texto na linha é habilitado para pelo menos uma das tabelas com uma coluna de texto e desativada para pelo menos um outro.
O errorlog do SQL Server pode conter entradas semelhantes à seguinte:
CEs::Eval(unsigned long * 0x1af60248, CEsExec * 0x0047004c, CXVariant * 0x115af134) line 778 + 17 bytesCParamInfo::FUpdate(unsigned long * 0x1af60248) line 130 + 20 bytesCQScanNLJoin::PpbAddChangedParams(CParamBounds * 0x115af1f4, unsigned long * 0x1af60248, int 0, int * 0x115af180) line 933 + 30 bytesCQScanNLJoin::RecomputeInner(CParamBounds * 0x115af1f4, unsigned long * 0x1af60248) line 995CQScanNLJoin::GetRow(unsigned long * 0x1af60248, unsigned long * 0x1af60248) line 1269CQueryScan::GetRow(unsigned long * 0x1af60248, unsigned long * 0x1af60248) line 4273 + 27 bytesCStmtQuery::ErsqExecuteQuery(CMsqlExecContext * 0x1af60060 {CMsqlExecContext}, const CEsComp * 0x1b031e68, const CEsComp * 0x00000000, unsigned long * 0x1af60248, int 1, int 0) line 946 + 21 bytesCStmtSelect::XretExecute(CMsqlExecContext * 0x1af60060 {CMsqlExecContext}) line 3458 + 37 bytesCMsqlExecContext::ExecuteStmts(ExecutionContext * 0x1aa8d518) line 1483 + 16 bytesCMsqlExecContext::Execute(CCompPlan * 0x00000000 {CCompPlan}, CParamExchange * 0x00000000) line 1202 + 12 bytesCSQLSource::Execute(CParamExchange * 0x00000000) line 1246 + 19 byteslanguage_exec(srv_proc * 0x1aa90090) line 682process_commands(srv_proc * 0x1aa90090) line 1704 + 9 bytesProcessWorkRequests(UmsWorkQueue * 0x02574b58) line 431 + 13 bytesThreadStartRoutine(void * 0x105c1f90) line 263 + 7 bytesMSVCRT! 7800bea1()KERNEL32! 77e92ca8()				
Resolução
Para resolver esse problema, obtenha o service pack mais recente para o SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211INF: Como obter o Service Pack mais recente do SQL Server 2000
Situação
A Microsoft confirmou que este é um problema no SQL Server 2000. Esse problema foi corrigido primeiro no SQL Server 2000 Service Pack 1.
Mais Informações
A seguir está um exemplo de uma consulta que pode resultar no erro acima:
SELECT 1FROM v1WHERE IntColumn <= ALL      (        SELECT v2.IntColumn         FROM v2         WHERE SUBSTRING(v1.TextColumn,1,5) < 'a'      )				
onde v1 é definido como:
Select * from db1.dbo.t1UNION ALLSelect * from db2.dbo.t1				
v2 é definido como:
Select * from db1.dbo.t2UNION ALLSelect * from db2.dbo.t2				
t1 contém colunas int 1 e 1 o texto e t2 contém somente uma coluna int.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 291274 - Última Revisão: 01/16/2015 21:52:18 - Revisão: 3.2

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB291274 KbMtpt
Comentários