CORRECÇÃO: mensagem de erro quando o serviço de distribuição tenta aplicar o instantâneo ao subscritor no SQL Server 2005: "necessário declarar a variável escalar"@ variável""

Traduções de Artigos Traduções de Artigos
Artigo: 936534 - Ver produtos para os quais este artigo se aplica.
Erro n.º: 50001158 (correcção SQL)
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário. Configurar uma replicação transaccional em Microsoft SQL Server 2005. Criar o instantâneo inicial com êxito no fabricante. Neste cenário, quando o serviço de distribuição tenta aplicar o instantâneo ao subscritor, receberá a seguinte mensagem de erro:
Erro: 137, gravidade: 15, estado: 2
Tem de declarar a variável escalar "@ variável".
Este problema ocorre caso se verifiquem as seguintes condições:
  • A replicação transaccional contém um artigo criado que se baseia uma tabela que tem colunas calculadas.
  • A coluna de chave primária é ordenada depois das colunas calculadas são ordenadas.
  • Da tabela de sistema syscolumns , pode ver que o ID de coluna da coluna de chave primária é maior do que a coluna ID das colunas calculadas.
  • A publicação utiliza processamento snapshot em simultâneo.

Causa

O serviço de distribuição cria um procedimento armazenado para inserir dados no subscritor. No entanto, o procedimento armazenado tem números de parâmetro incorrecto.

Resolução

Informações sobre a actualização cumulativa

A correcção para este problema foi disponibilizada pela primeira vez na actualização cumulativa 2. Para obter mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2005 Service Pack 2, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
936305Pacote de actualização cumulativa 2 para o SQL Server 2005 Service Pack 2
Nota Uma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2005 anterior corrigir lançamento. A Microsoft recomenda que considerar a aplicação a versão de correcção mais recente que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
937137Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 2
As correcções Microsoft SQL Server 2005 são criadas para service packs do SQL Server específicos. Tem de aplicar uma correcção do SQL Server 2005 Service Pack 2 para uma instalação do SQL Server 2005 Service Pack 2. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

Como contornar

Para contornar este problema, utilize um dos seguintes métodos:
  • Quando criar a tabela subjacente do artigo, certifique-se de que a coluna de chave primária é ordenada antes das colunas calculadas são ordenadas.
  • Utilize processamento instantâneo nativo ou processamento de instantâneo de base de dados em vez de processamento de snapshot em simultâneo.

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

Por exemplo, este problema ocorre quando utiliza a seguinte instrução para criar a tabela subjacente do artigo:
CREATE TABLE [dbo].[test](
	[col1] [char](10) NOT NULL,
	[col2] [char](10) NOT NULL,
	[col_1_2]  AS ([col1] + [col2]),
	[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION PRIMARY KEY NOT NULL
)

Propriedades

Artigo: 936534 - Última revisão: 20 de agosto de 2007 - Revisão: 1.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
Palavras-chave: 
kbmt kbfix kbsql2005repl kbexpertiseadvanced kbpubtypekc kbqfe KB936534 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: 936534

Submeter comentários

 

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