CORRECÇÃO: Sp_reset_connection não redefinir as configurações de número de linhas para DELETE e UPDATE instruções

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: 310617
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
BUG #: 355872 (SHILOH_BUGS)
Sintomas
Quando você usa conexão pool para se conectar ao SQL Server, SQL Server chama o procedimento sp_reset_connection armazenados antes de reutilizar uma conexão do pool. Uso do procedimento sp_reset_connection armazenados garante que as opções de conexão são redefinidas para que o aplicativo cliente tenha não configurações persistentes das instruções anteriores que foram executadas nessa conexão.

No entanto, no Microsoft SQL Server 2000, o procedimento sp_reset_connection armazenados não pode redefinir o número de linhas definindo corretamente.

Se você executar uma instrução DELETE ou UPDATE executada após o sp_reset_connection armazenados chamada de procedimento, o SQL Server respeita o valor de número de linhas antigo (em outras palavras, a configuração de rowcount antigo persiste). Nesse caso, a instrução DELETE ou UPDATE só atualiza ou exclui o número de linhas que foram especificados na configuração de conexão anterior.

Esse problema não ocorre com uma instrução SELECT. Se você executar o procedimento armazenado de um SELECT após chamar sp_reset_connection , SQL Server ignora o valor de número de linhas definido para a conexão anterior e a instrução SELECT retorna o número esperado de linhas.
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
Como Contornar
Para contornar este problema, no aplicativo você pode executar SET ROWCOUNT 0, antes de iniciar uma nova conexão do SQL Server do pool. Uso de SET ROWCOUNT 0 redefine o número de linhas para cada nova conexão.
Situação
A Microsoft confirmou que este é um problema no Microsoft SQL Server 2000. Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 2.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 310617 - Última Revisão: 12/07/2015 08:02:32 - Revisão: 3.2

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix KB310617 KbMtpt
Comentários