CORRECÇÃO: O cursor criado no servidor vinculado que podem causar solicitações metadados tratado 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.

Clique aqui para ver a versão em Inglês deste artigo: 302477
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
BUG #: 354284 (SHILOH_BUGS)
BUG #: 354764 (SHILOH_BUGS)
Sintomas
Se um cursor é criado em um procedimento armazenado do sistema que retorna informações sobre o esquema de um servidor remoto, pode ocorrer uma violação de acesso controlada na função XdesRMReadOnly::Init causando somente a conexão do cliente para o SQL Server a ser finalizado.
Resolução
Para resolver esse problema, obtenha o service pack mais recente para o Microsoft 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

Hotfix

Observação : O seguinte hotfix foi criada antes do Microsoft SQL Server 2000 Service Pack 2.

A versão em inglês dessa correção deve ter os seguintes atributos de arquivo ou posteriores:
   File name    Platform   -----------------------------------------------------------   s80303i.exe  x86 - SQL Server 2000 original release fix   s80426i.exe  x86 - SQL Server Service Pack 1 fix				
Observação : devido a dependências do arquivo, o hotfix mais recente ou o recurso que contém os arquivos acima pode também conter arquivos adicionais.

Como Contornar
Não tente criar cursores sobre os procedimentos armazenados do sistema listados na seção "Mais informações".
Situação
A Microsoft confirmou que este é um problema no SQL Server 2000. Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 2.
Mais Informações
Esse problema pode ocorrer quando o cursor é criado nos seguintes procedimentos armazenados do sistema:
  • sp_table_privileges_ex
  • sp_column_privileges_ex
  • sp_tables_ex
  • sp_columns_ex
  • sp_primarykeys
  • sp_foreignkeys
  • sp_indexes
  • sp_catalogs
Com o hotfix aplicado, o SQL Server agora retorna as seguintes mensagens de erro:
Servidor: Mensagem 16955, nível 16, estado 2, linha 0
Não foi possível criar um cursor aceitável.
Servidor: Mensagem 16945, nível 16, estado 1, procedimento sp_cursoropen, linha 57
O cursor não foi declarado.
Aqui estão as funções de despejo de pilha curto relatado no arquivo de log de erro do SQL Server da versão original lançada do SQL Server 2000 (8.00.194) primeiro 13:
004084FC Module(sqlservr+000084FC) (XdesRMReadOnly::Init(class DBTABLE *,class LockSpaceId,class XactDesc const *)+00000027)004082C9 Module(sqlservr+000082C9) (ReadOnlyXactImp::GetXdes(class DBTABLE *)+00000137)00405378 Module(sqlservr+00005378) (AutoSimpleXact::GetXdes(class DBTABLE *)+0000000C)00405398 Module(sqlservr+00005398) (AutoSystemXact::GetXdes(unsigned short)+0000001C)004204D9 Module(sqlservr+000204D9) (CSysScan::OpenScan(unsigned short,long,class XDES *,enum ESysScanMode)+00000150)00420982 Module(sqlservr+00020982) (CSysScan::StartScan(unsigned short,long,short,int,class XDES *,enum ESysScanMode,int)+000000A3)0045A2F8 Module(sqlservr+0005A2F8) (CColumnScan::FStartScan(struct OBJID const &,class XDES *,enum ESysScanMode)+000000F5)005B1F87 Module(sqlservr+001B1F87) (CMetaBaseTable::Init(class IMemObj *,class CAlgTable *,unsigned long,unsigned short,int,class CMetaBaseTable const *,class CBrowseMode *,unsigned long)+0000028A)005B454B Module(sqlservr+001B454B) (CMetaSelect::SetUpTables(class CAlgStmt *,unsigned short *,unsigned short *,int,class CBrowseMode *)+000001C0)005C3798 Module(sqlservr+001C3798) (CMetaCursor::SetUpTables(class CAlgStmt *,unsigned short *,unsigned short *,int,class CBrowseMode *)+0000001A)005B40FE Module(sqlservr+001B40FE) (CMetaSelect::Init(class CAlgStmt *,int,class CBrowseMode *)+0000029C)005C32AB Module(sqlservr+001C32AB) (CMetaCursor::Init(class CAlgStmt *,enum CRS::ScrollOption)+00000446)005B75CF Module(sqlservr+001B75CF) (CCursorDeclareStmt::Init(class CAlgStmt *,class CCompPlan *)+00000158)				

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 302477 - Última Revisão: 12/06/2015 03:33:12 - Revisão: 3.1

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000presp2fix KB302477 KbMtpt
Comentários