SQL Server 4. 21a Service Pack 4 Fixlist

Artigo: 132495 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Segue-se uma lista de correcções e outros vários melhoramentos que foram efectuados no SQL Server Service Pack 4. SQL Server Service Pack 4 está agora disponível do fornecedor de suporte principal. Para mais informações, contacte o fornecedor de suporte principal.

Tenha em atenção que soluções foram fornecidas apenas a título informativo. Não é necessário implementar estas soluções alternativas, se tiver o software actualizado.

LISTA DE PROBLEMAS CORRIGIDOS NO SERVICE PACK 4

  • CORRECÇÃO: Falha de RPC do Sybase SQL Server para Microsoft SQL Server
  • CORRECÇÃO: OPENDSNT.DLL torna thread AV servidor global
  • CORRECÇÃO: As datas de comprimento fixo causa sintaxe erros no srv_convert()
  • CORRECÇÃO: Alpha: SELECT INTO com Kills pode fazer com que processo deixa de responder

Mais Informação

CORRECÇÃO: Falha de RPC do Sybase SQL Server para Microsoft SQL Server

123755 erro # NT: 10665 (4. 21a)
A tabela pode ser maior do que 4 colunas, mas deve estar seleccionado máximo da quarta coluna e colunas 1-3 deverão ser 4 bytes de largura.

Segue-se um script breve para demonstrar o problema:
   use pubs
   go
   drop table t1
   go
   create table t1(c1 int, c2 int, c3 int, c4 int)
   go
   declare @counter int
   select @counter = 0
   while @counter < 400
   begin
     insert t1 values(@counter,@counter,@counter,@counter)
     select @counter = @counter + 1
   end
   go
   select max(c4) from t1
   go

CORRECÇÃO: Falso erro 512 em subconsultas com versão 4.21.006

124059 erro # NT: 929 (4.21.006)
Procedimento armazenado chamadas remotas (RPC, Remote Procedure Call) a partir do Sybase SQL Server versões 4.8 e 4.92 em plataformas UNIX para o Microsoft SQL Server através de TCP/IP poderão falhar com a seguinte mensagem de erro:
Não pode ler mensagem 7223: A partir do site ' %. * s '

Esta falha pode ocorrer quando executar remotamente qualquer procedimentos armazenados, como, por exemplo, sp_who.

Revenda x 86 4. 21a Service Pack 2 e Service Pack 3 OPENDSNT.DLL cause violações de acesso que anteriormente foram limitadas no âmbito para um único thread seja em vez disso, todo o servidor.

Em algumas circunstâncias, srv_convert() a função dos serviços de dados abrir (ODS) pode gerar um erro de sintaxe na mensagem de campo de origem, quando os dados sejam passados para srv_convert() são o formato correcto.

NOTA: Isto só acontece em conversões de data de comprimento fixo. Por exemplo, "19000101" (sem traços ou barras de datas) versus "1900-01-01".

Quando emitir um kill num spid,-não irá eliminar o processo especificado e subsequentes kills emitidos contra o spid não funcionará.

Quando executa um SELECT * de sysprocesses no servidor, esta irá mostrar spid 3 bloqueado num comando Copiar TRAN dbid 2 (tempdb) e um ou mais processos de utilizador bloqueados num comando INSERT. Estes processos de utilizador não vão responder ao comando kill.

Este problema é normalmente encontrado apenas quando efectua um teste de stress inclui SELECT INTO uma tabela temporária e kills repetidas de todos os processos.

Após executar uma consulta incluir uma associação, com ou sem NOEXEC conjunto, é apresentada a seguinte caixa de diálogo:
SQLSERVR.EXE: A excepção Floating-point operação inválida
(0xc0000090) ocorreu na aplicação na localização 0x00567938.
Clique em OK para terminar a aplicação clique em ' Cancelar ' para depurar
a aplicação.

Se for seleccionado OK, todo o processo do SQL Server é terminado. Isto acontece apenas nos processadores Alpha.

Quando executar tempdb intensiva consultas que envolvam ordenar, sob condições muito estreitas, um bloqueio de thread pode ocorrer durante a limpeza de ordenação. Isto é frequentemente difícil identificar porque os sintomas visíveis são ambíguos. No entanto o observados características incluem um abrandamento geral, bloquear o aumento e o processo de verificação pendente em tempdb. Normalmente, é possível iniciar sessão para o SQL Server com ISQL.EXE, efectue selecciona provenientes de bases de dados do utilizador, mas não é possível executar instruções de modificação de dados tempdb.

Um inesperado grande número de ligações de cliente para o SQL Server pode ser observado utilizando o monitor de desempenho ou comandos sp_who. Muitos dos clientes mostrados pelo sp_who tem reiniciado ou terminado caso contrário, as aplicações de cliente. sp_who mostrará esses clientes a ser bloqueado num ou mais outros processos.

Uma consulta pode continuar em execução no SQL Server mesmo depois do cliente for reiniciado e a sessão de rede foi interrompida. A consulta irá adquirir o tipo de bloqueios são adequadas para o tipo de consulta, que, em alguns casos, pode bloquear outros utilizadores. A menos que fica bloqueado no bloqueio de outra ligação, irá terminar a consulta quando tiver executado a conclusão ou quando precisa enviar resultados para o cliente não existente. A consulta normalmente pode ser terminada com o comando Eliminar Transact-SQL.

VAX clientes poderão experimentar erros de conversão quando seleccionar valores de flutuação grandes do Microsoft SQL Server.

LISTA DE PROBLEMAS CORRIGIDOS NO SERVICE PACK 1

  • CORRECÇÃO: Uma consulta complexa pode causar 1521 erro
  • CORRECÇÃO: Erro de tempo de execução no accionador do RPC faz com que servidor para parar de responder
  • CORRECÇÃO: Máximo de colunas INT SELECT pode causar a violação de acesso
  • CORRECÇÃO: Falso erro 512 em subconsultas com versão 4.21.006
  • CORRECÇÃO: Violação de acesso se totalmente qualificado nome da vista é grande

CORRECÇÃO: Uma consulta complexa pode causar 1521 erro

109187 erro # NT: 597 (4.2)

Em determinadas condições do SQL Server pode devolver o erro 1521:
Ordenar falhou porque uma tabela em tempdb utilizada para o processamento
da consulta tinham dados incorrectos contagem da página.

Isto ocorre normalmente durante o processamento muito complexas consultas que podem implicar a qualquer um dos seguintes: várias tabelas, a utilização de índices dinâmicos, ordenação interno ou muito utilizados de tempdb.

Quando emitir uma RPC para um remoto SQL Server para Windows NT, a aplicação cliente deixa de responder. O servidor remoto irá recusar aceitar mais ligações e quaisquer clientes actualmente ligados que tentarem emitir consultas irão deixar de responder. O servidor remoto não pode ser encerrado com o Gestor de controlo de serviço. O processo SQLSERVR ou deve ser terminado ou desligado e ligado ao servidor de NT.

Seleccionar o valor máximo de uma coluna que é definida como INT não NULL e é a quarta coluna de uma tabela pode resultar numa violação de acesso no SQL Server.

Algumas subconsultas numa consulta Seleccionar lista correctamente estiver a devolver uma linha pode erradamente devolverão um erro 512 nas versões de servidor 4.21.006 ou posterior.

Uma subconsulta na lista selecção deve funcionar como uma expressão, o que significa que não é válido para essas consultas para devolver mais do que uma linha. Anteriores à versão 4.21.006, SQL Server não irá detectar esta condição como um erro e devolveria em vez disso, a última linha do conjunto de resultados subconsulta.

Isto arquivado como erro 550 e foi fornecido um bugfix em 4.21.006. No entanto, começando com esta versão algumas consultas estão correctamente devolver uma linha são incorrectamente gerar o erro 512:
Subconsulta devolveu o valor mais do que 1. Este é ilegal quando
a subconsulta segue =,! =, <, < =, >, > =, ou quando a subconsulta
utilizado como uma expressão.

Por exemplo, se existirem duas tabelas:
   Emp
   empid    name
   1        Jane Doe

   Prod
   plantid   process  empid
   1         1        1
   1         2        1

A seguinte consulta gera um erro 512 falso:
   select (select name
           from emp
           where emp.empid = prod.empid)
   from prod

SQL Server versão 4. 21a irão sofrer uma violação de acesso se o nome totalmente qualificado de uma vista torna-se muito grande. Isto ocorre se o nome totalmente qualificado excede 30 bytes nas versões alfa do SQL Server, mas pode ocorrer com maiores nomes no MIPS ou Intel versões. O problema é específico para ver os nomes. Faz não ocorrer por outros objectos, tais como tabelas ou procedimentos armazenados. A biblioteca de rede do lado do servidor para TCP/IP (SSMSOCN.DLL) processa incorrectamente os pedidos RPC de determinadas versões do Sybase SQL Server em plataformas UNIX.

Fixeddate(), uma função interna para abrir Serviços de dados, tem um problema com uma cadeia de trabalho não inicializada, em seguida, é convertido com atoi(). A primeira metade deste valor é o utilizador fornecida; a outra metade da condição de falha é dados inválidos na cadeia, que deve ser inicializada para 0. Isto pode causar o valor de data calculado para ser inválidos e criar um erro de sintaxe.

Uma insuficiência de vírgula flutuante ocorreu enquanto o optimizador foi avaliar associação possível encomendas.

Threads de trabalho ficarem num impasse quando anular extensões durante a limpeza de ordenação.

Se uma ligação de cliente está bloqueada por um bloqueio mantido por outro processo e ligação do cliente para SQL server é anormalmente interrompida (por exemplo, problemas de rede, falhas de política de grupo de cliente ou reiniciar o cliente), o spid utilizado pelo cliente não é libertada até que o processo de bloqueio liberta os bloqueios.

Se um cliente estiver a executar uma consulta demorada que não devolve resultados durante algum tempo, em seguida, o comando net session será ignorado porque o cliente for reiniciado, a consulta pode continuar a executar. Um exemplo deste tipo de consulta seria:
   SELECT COUNT(*) FROM LARGETABLE

Se a consulta passou a ser bloqueada no bloqueio de outra ligação, este poderá também impedir devolver resultados. Se neste estado, o cliente a executar a consulta for reiniciado, a consulta vai continuar a executar, apesar da sessão de rede é terminada. Isto é causado pelo SQL Server não detectar a terminação de sessão de rede. Sempre que inicia a consulta enviar resultados para o cliente não existente, SQL Server irá notar a sessão de rede desapareceu e terminam a consulta.

Se a execução de RPC faz com que um accionador ser accionado que por sua vez encontrar um erro de execução não fatal, tal como uma chave exclusiva ou violação da regra, e se esse accionador contém quaisquer instruções após o ponto onde ocorreu o erro, poderão ocorrer os sintomas descritos acima.

Execução do procedimento armazenado localmente irão funcionar correctamente, mesmo se for encontrado o erro de tempo de execução. Substitua a biblioteca de rede do lado do servidor SSMSSOCN.DLL com versão 4.21 (com 1/26/94). Se tiver quaisquer problemas fora-de-banda dados (tais como erros de memória intermédia inválido no cliente) depois de mudar para a versão mais antiga, poderá evitar esses adicionando a entrada seguinte no registo de NT 3.5:
   System\CurrentControlSet\Services\Tcpip\Parameters\TcpUseRFC1122Urgent
   Pointer = 0x1

Para obter informações adicionais, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
120642: TCP/IP parâmetros de configuração e NBT para o Windows 2000 ou Windows NT

CORRECÇÃO: OPENDSNT.DLL torna thread AV servidor global

132423 erro # NT: 9175 (4. 21a)

Utilizar a 4. 21a OPENDSNT.DLL com SQLSERVR.EXE Service Pack 2 ou Service Pack 3 ou utilizar o SQL Server Service Pack 4, que não detectar este problema.

CORRECÇÃO: As datas de comprimento fixo causa sintaxe erros no srv_convert()

132498 erro # NT: 9658 (4. 21a)
A única solução para este problema consiste em analisar os valores de data e inserir hífenes antes para conversão.

CORRECÇÃO: Alpha: SELECT INTO com Kills pode fazer com que processo deixa de responder

132503 erro # NT: 9871 (4. 21a - NTAlpha)


Depois do problema ocorrer, a única solução é encerrar o SQL Server com nowait. Para evitar ou minimizar o problema, não executam comandos KILL excessivos em processos efectuando SELECT INTO comandos em tempdb.

LISTA DE PROBLEMAS CORRIGIDOS NO SERVICE PACK 3

  • CORRECÇÃO: Excepção Floating-point gerar o plano de consulta em Alpha
  • CORRECÇÃO: Thread impasse faz com que o CheckPoint para parar de responder em tempdb

CORRECÇÃO: Excepção Floating-point gerar o plano de consulta em Alpha

130981 erro # NT: 1781 (4. 21a - NTAlpha)

Poderá ser possível evitar este problema alterando o número ou tipo de índices disponíveis para o optimizador. O problema poderá desaparecer quando existe que uma alteração a distribuição de dados em tabelas e UPDATE STATISTICS é executada.

CORRECÇÃO: Thread impasse faz com que o CheckPoint para parar de responder em tempdb

131662 erro # NT: 9992 (4. 21a)

O problema é exceedingly estreito no âmbito e muito raras. Devido a esta e os sintomas ambíguos, este problema deve não ser suspeitas até fechar estudo tem de excluir todos os outros problemas. Isto inclui verificar dbcc newalloc e dbcc checkdb são erro livre em todas as bases de dados, sem erros existem na errorlog SQL e bloquear observados ou abrandamento não é causado por problemas de concorrência convencional. Alterar ligeiramente a aplicação, consultas, plataforma ou configuração de SQL, pode evitar o problema.

LISTA DE PROBLEMAS CORRIGIDOS NO SERVICE PACK 2

  • CORRECÇÃO: Não terminar ligação cortada bloqueados SPID
  • CORRECÇÃO: Ignorados sessão de rede não detectada durante a consulta mais
  • CORRECÇÃO: Erros de conversão para VAX ponto flutuante

CORRECÇÃO: Não terminar ligação cortada bloqueados SPID

122486 erro # NT: 932 (4.2)

Os clientes devem deve terminar a respectiva ligação ao SQL Server. Aplicações devem Cancelar consultas longa e, se necessário, feche explicitamente ligações ao SQL Server. Isto irá tendem a desencorajar os utilizadores de reiniciar ou terminar aplicações levar um longo período de tempo para comandos SQL do processo.

CORRECÇÃO: Ignorados sessão de rede não detectada durante a consulta mais

124949 erro # NT: 966 (4.21)

Este problema só acontece com pouca frequência, tal como dois eventos simultâneos bastante raros tem de ocorrer para reproduzir este.
  1. Uma consulta de execução longa que não devolve resultados.
  2. O mesmo cliente a executar a consulta abruptamente deve terminar uma forma não controlada, em vez de iniciar ou cancelar a consulta com dbcancel().
Em casos em que isto acontecer, a solução é utilizar o comando Eliminar Transact-SQL para terminar a consulta. Uma aplicação bem concebida sempre deve permitir que utilizadores cancelar uma consulta em qualquer altura durante a execução. Estas aplicações normalmente não verá este problema.

CORRECÇÃO: Erros de conversão para VAX ponto flutuante

125636 erro # NT: 959 (4.2)

Em alguns casos este problema pode ser resolvido executando um ou mais dos seguintes procedimentos:
  1. Execute UPDATE STATISTICS em todas as tabelas envolvidas.
  2. Modifique a consulta para que o optimizador pode produzir um plano de consulta diferentes.

    1. Certifique-se que os índices foram concebidos correcto e eficiente.
    2. Limpar ou arquivar os dados desnecessários de quaisquer tabelas envolvidos.
    3. Alterar BETWEEN cláusulas para os respectivos < = e > = expressões.
NOTA: Poderá rever o plano de consulta ao executar SET SHOWPLAN ON antes de executar a consulta. Para obter mais informações como interpretar SHOWPLAN saída consulte "Apêndice B: Noções sobre SHOWPLAN resultado" no"Microsoft SQL Server para NT manual de resolução de problemas."

CORRECÇÃO: Erro de tempo de execução no accionador do RPC faz com que servidor para parar de responder

111680 erro # NT: 681 (4.2)

Deve ter o cuidado para garantir que os accionadores não causará erros de tempo de execução não fatal. Lógica ou deve ser adicionada ao accionador para se proteger contra esta situação ou quaisquer instruções que podem gerar estes erros devem ser colocadas no procedimento armazenado em vez do accionador.

CORRECÇÃO: Máximo de colunas INT SELECT pode causar a violação de acesso

116075 erro # NT: 814 (4.2)

Se possível, recode a consulta como uma associação:
   select name
   from emp, prod
   where emp.empid = prod.empid

CORRECÇÃO: Violação de acesso se totalmente qualificado nome da vista é grande

124238 erro # NT: 935 (4. 21a)

Se possível, abrevie o nome da vista.

Propriedades

Artigo: 132495 - Última revisão: quarta-feira, 3 de Abril de 2002 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 4.21a Standard Edition
Palavras-chave: 
kbmt kbfix kbinfo KB132495 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: 132495
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários