CORRECÇÃO: A opção de SET ON ANSI_PADDING não pode funcionar como esperado quando executar uma consulta que contém uma instrução CASE no SQL Server 7.0

Traduções de Artigos Traduções de Artigos
Artigo: 891116 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
BUG#:200141 (SQL Server 7.0)
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando executa uma consulta que contém uma instrução CASE no Microsoft SQL Server 7.0, a opção de SET ON ANSI_PADDING poderá não funcionar conforme esperado. Este problema ocorre quando se verificam as seguintes condições:
  • A instrução CASE contém várias cadeias de caracteres literais.
  • As cadeias de caracteres literal tem de comprimentos diferentes.
  • As cadeias de caracteres literal tem espaços à direita.
Por exemplo, o seguinte script Transact-SQL, a instrução SELECT devolve 'test1result'. A instrução SELECT deverá devolver 'Teste1 resultado'.
DBCC FREEPROCCACHE
GO
SET ANSI_PADDING ON
GO
DECLARE @x integer
SET @x = 1 
SELECT  CASE WHEN @x = 1 THEN 'test1 ' WHEN @x = 2 THEN 'test2 ' ELSE 'test 3 ' END + 'result'

Resolução

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentada, submeta um pedido para o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Deve instalar o SQL Server 7.0 Service Pack 4 (SP4) antes de instalar esta correcção

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
File name                    Version           Date         Time        Size         
------------------------------------------------------------------------------
Msvcr71.dll                  8.00.21213.00     09-Jun-2003  18:20      352,256  
Osql.exe                     8.00.796          09-Jun-2003  18:20       57,904  
Sqdedev.dll                  8.00.534          09-Jun-2003  18:20      127,548  
Sqlunirl.dll                 8.00.194          09-Jun-2003  18:20      180,290  
Dbmssocn.dll                 7.00.1081         04-Oct-2002  23:59       28,944  
Distrib.exe                  7.00.1077         06-Sep-2002  23:55       53,520  
Logread.exe                  7.00.1077         06-Sep-2002  23:55       98,576  
Opends60.dll                 7.00.1093         05-May-2003  18:34      155,920  
Rdistcom.dll                 7.00.1077         06-Sep-2002  23:56      250,128  
Replmerg.exe                 7.00.1077         06-Sep-2002  23:55       82,192  
Replres.dll                  7.00.1077         06-Sep-2002  23:56       78,096  
Securityhotfix.sql                             17-Sep-2002  22:52        7,941  
Snapshot.exe                 7.00.1077         06-Sep-2002  23:56      160,016  
Sp4_serv_uni.sql                               30-May-2003  04:21       59,214  
Sqlagent.exe                 7.00.1085         15-Jan-2003  01:33      344,064  
Sqlcmdss.dll                 7.00.1077         06-Sep-2002  23:55       45,056  
Sqldmo.dll                   7.00.1094         16-May-2003  00:18    2,629,632  
Sqlmap70.dll                 7.00.1094         16-May-2003  13:29       81,920  
Sqlservr.exe                 7.00.1150         15-Dec-2004  01:07    5,062,928  
Sqltrace.dll                 7.00.1144         15-Oct-2003  17:09      315,392  
Ssmsso70.dll                 7.00.1081         04-Oct-2002  23:59       45,328  
Ssnmpn70.dll                 7.00.1094         16-May-2003  00:18       24,848  
Ums.dll                      7.00.1079         26-Sep-2002  20:27       57,616  
Xpweb70.dll                  7.00.1094         16-May-2003  13:31      151,552  
Dbmssocn.dll                 7.00.1081         04-Oct-2002  23:59       28,944  
Sqldmo.dll                   7.00.1094         16-May-2003  00:18    2,629,632  
Sqltrace.dll                 7.00.1144         15-Oct-2003  17:09      315,392    

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Esta correcção introduz sinalizador 262. Quando activar este sinalizador de rastreio, espaços à direita já não são truncados de cadeias literais em instruções CASE. Para activar o sinalizador de rastreamento 262, utilize um dos seguintes métodos:
  • Definir sinalizadores de rastreio utilizando a instrução DBCC TRACEON. Para activar o sinalizador de rastreamento 262 utilizando a instrução DBCC TRACEON, execute o seguinte script Transact-SQL:
    DBCC TRACEON (262)
    
  • Definir sinalizadores de rastreio na linha de comandos. Para activar o rastreio sinalizar 262 durante o arranque, escreva o seguinte comando numa linha de comandos:
    sqlservr ?d"C:\MSSQL7\Data\master.mdf" ?T262
Para obter informações adicionais sobre a opção ANSI_PADDING, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa259201(SQL.80).aspx
Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 891116 - Última revisão: 9 de fevereiro de 2014 - Revisão: 1.5
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbautohotfix kbsqlserv700presp5fix kbfix kbbug kbhotfixserver kbqfe KB891116 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: 891116

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com