Você está offline; aguardando reconexão

CORRECÇÃO: Mensagem de erro quando estimar a compactação em uma tabela no SQL Server 2008: "Subconsulta retornou mais de 1 valor"

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: 956031
Bug #: 50003626 (Hotfix do SQL)
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.
Sintomas
Quando você usa o procedimento sp_estimate_data_compression_savings armazenados em uma tabela que tenha uma chave primária que não estão em cluster e um ou mais índices que não estão em cluster no Microsoft SQL Server 2008, você receberá a seguinte mensagem de erro:
Msg 512, nível 16, estado 1, procedimento sp_estimate_data_compression_savings, 251 de linha
Subconsulta retornou mais de 1 valor. Isso não é permitido quando a subconsulta segue =,! =, <, < =, >, > = ou quando a subconsulta é usada como expressão.
Embora você receber essa mensagem de erro, o resultado é retornado. No entanto, as estimativas de compactação para alguns índices que não estão em cluster são incorretas.

Esse problema ocorre se existe um índice de cluster ou não.
Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o SQL Server 2008. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
968382Como obter o service pack mais recente para o SQL Server 2008

Informações da atualização cumulativa

A correção para esse problema foi lançada primeiro na atualização cumulativa 2. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2008, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
958186Pacote de atualizações cumulativas 2 do SQL Server 2008
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. Recomendamos 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:
956909O SQL Server 2008 compilações que lançadas foram após o lançamento SQL Server 2008 foi lançado
Como Contornar
Para contornar este problema, especifique @ index_id parâmetro quando você executa sp_estimate_data_compression_savings procedimento armazenado. Você deve executar o procedimento armazenado uma vez para cada índice para o qual você deseja calcular.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no SQL Server 2008 Service Pack 1.
Mais Informações
O procedimento sp_estimate_data_compression_savings armazenado é usado para retornar o tamanho atual de tabelas. O procedimento sp_estimate_data_compression_savings armazenados também estima o tamanho da tabela para o estado de compactação solicitada.

Etapas para reproduzir o problema

  1. Inicie o SQL Server Management Studio e, em seguida, conecte-se a uma instância do SQL Server 2008.
  2. Crie uma nova consulta e, em seguida, execute as seguintes instruções.
    CREATE DATABASE TESTGOUSE TestGOCREATE TABLE REPRO(i int primary key nonclustered, a int)GOCREATE NONCLUSTERED INDEX NONCLUSTERED_REPRO ON REPRO(a)GOEXEC SP_ESTIMATE_DATA_COMPRESSION_SAVINGS @schema_name = 'dbo', @object_name = 'repro', @index_id = NULL, @partition_number = NULL, @data_compression = 'PAGE'
Para mais informações sobre quais arquivos são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de atualização cumulativa que contém o hotfix descrito neste artigo, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
958186Pacote de atualizações cumulativas 2 do SQL Server 2008
Referências
Para obter mais informações sobre a lista de compilações disponibilizadas após o lançamento do SQL Server 2008, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
956909O SQL Server 2008 compilações que lançadas foram após o lançamento SQL Server 2008 foi lançado
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:
935897Há 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:
822499Novo 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:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software
SQL2008RelNoteDatabaseEngine

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 956031 - Última Revisão: 04/08/2009 00:07:05 - Revisão: 3.0

Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Standard

  • kbmt sql2008relnotedatabaseengine sql2008relnote kbbug kbqfe kbfix kbexpertiseadvanced kbprb KB956031 KbMtpt
Comentários
tsByTagName("head")[0].appendChild(m);