ID do artigo: 972856 - Última revisão: quinta-feira, 30 de julho de 2009 - Revisão: 1.0

CORRECÇÃO: Algumas colunas estão falta quando você executa uma consulta em uma tabela que está localizada em um servidor vinculado se os nomes de coluna contiverem um caractere de ponto no SQL Server 2008 Service Pack 1

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
A Microsoft distribui correções do Microsoft SQL Server 2008 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as correções segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento.
Expandir tudo | Recolher tudo

Sintomas

Considere o seguinte cenário:
  • Você criar um servidor vinculado para acessar uma instância do SQL Server 2008.
  • Instalar o SQL Server 2008 Service Pack 1 (SP1) para essa instância do SQL Server 2008.
  • Executar uma consulta em uma tabela que está localizada no servidor remoto usando o nome de quatro partes.
  • Esta tabela contém um nome de coluna que contém um caractere de ponto. Por exemplo, o nome da coluna é Column1.A .
Nesse cenário, quando você executa a consulta, você notar que a coluna que contém um período de caractere está faltando os resultados.

Observação Esse problema também ocorre no pacote de atualizações cumulativas 1 para SQL Server 2008 SP1 e no pacote de atualizações cumulativas 2 para o SQL Server 2008 SP1. Esse problema não ocorre se você estiver executando a versão de lançamento do SQL Server 2008.

Causa

Esse problema ocorre devido a uma alteração é apresentada no SQL Server 2008 SP1. A alteração faz com que SQL Server verificar permissões para todas as colunas na consulta de servidor vinculado. No entanto, se o SQL Server 2008 SP1 estiver instalado, a verificação foi malsucedida em colunas que tenham o caractere de ponto no nome da coluna.

Resolução

Você deve aplicar esse hotfix em um servidor vinculado que está executando o SQL Server 2008 Service Pack 1 (SP1).

A correção para esse problema foi lançada primeiro na atualização cumulativa 3 para o SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
971491  (http://support.microsoft.com/kb/971491/LN/ ) Pacote de atualizações cumulativas 3 para SQL Server 2008 Service Pack 1
Observação Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. A Microsoft recomenda que você considere a aplicação a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
970365  (http://support.microsoft.com/kb/970365/LN/ ) Compilações do SQL Server 2008 que foram lançadas lançamento após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 hotfixes são criados para service packs do SQL Server específicos. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, qualquer hotfix fornecidas em um SQL Server service pack está incluído no service pack seguinte do SQL Server.

Como Contornar

Para contornar esse problema, use um dos seguintes métodos:

método 1

Reescreva a consulta para usar a função OPENQUERY em vez do nome de quatro partes para recuperar dados de servidor vinculado.

método 2

Crie um modo de exibição para renomear as colunas problemáticas para a tabela afetada que está localizado no servidor vinculado. No modo de exibição, use um nome coluna que não contém um caractere de ponto para a coluna problemático. Por exemplo, executar uma instrução semelhante à seguinte para criar o modo de exibição:
--On the linked server, run the following statements:
CREATE VIEW View1 
AS
SELECT [Column1.A] AS Column1_A, Column2 from Table1
GO
--On the local server, run the following query:
SELECT Column1_A,Column2 FROM LinkedServer1.Database1.dbo.View1
GO

método 3

Desinstale o SQL Server 2008 Service Pack 1.

Situação

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

Referências

Para obter mais informações sobre o modelo incremental de serviços para o SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
935897  (http://support.microsoft.com/kb/935897/ ) Há um modelo incremental de serviços da equipe do SQL Server para fornecer hotfixes para problemas relatados


Para obter mais informações sobre o esquema para nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822499  (http://support.microsoft.com/kb/822499/ ) Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server


Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão que é usada para descrever as atualizações de software

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced KB972856 KbMtpt
Tradução automáticaTraduçã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 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: 972856  (http://support.microsoft.com/kb/972856/en-us/ )