CORRECÇÃO: Uma subconsulta Correlated em vistas com partições com operações de texto pode causar a 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 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.

291274
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
N.º DE BUGS: 352264 (SHILOH_BUGS)
Sintomas
Poderá ocorrer uma violação de acesso (AV) quando seleccionar partições vistas nas seguintes condições:
  • Vistas de conter pelo menos uma coluna de texto ou ntext.
  • Uma função de texto é utilizada para avaliar uma coluna de texto numa selecção principal.
  • Texto de linha é activado para pelo menos uma das tabelas com uma coluna de texto e desactivada para, pelo menos, um outro.
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 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
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
Segue-se um exemplo de uma consulta que pode resultar num erro acima:
SELECT 1FROM v1WHERE IntColumn <= ALL      (        SELECT v2.IntColumn         FROM v2         WHERE SUBSTRING(v1.TextColumn,1,5) < 'a'      )				
onde v1 está 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 1 coluna int e 1 texto coluna e t2 contém apenas 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
Esta informação foi útil?