Mensagem de erro quando utiliza a sintaxe correcta da instrução do tipo criar no SQL Server 2005: "Sintaxe incorrecta perto de 'ObjectName'"

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: 918039
Bugs #: 404124 (SQLBUDT)
Sintomas
Considere o seguinte cenário. No Microsoft SQL Server 2005, utilize a sintaxe correcta da instrução do tipo criar para criar um comuns language runtime (CLR) definido pelo utilizador numa base de dados. O nível de compatibilidade da base de dados estiver definido para 80. Neste cenário, recebe a seguinte mensagem de erro:
Servidor: Msg 102. o, 15. o, 1, do Estado de nível de linha 2
Sintaxe incorrecta perto de 'NomeObjecto'.
No entanto, recebe a mensagem de erro esperados se fizer o seguinte:
  • Utilize a instrução CREATE PROCEDURE ou a instrução CREATE FUNCTION.
  • Criar um procedimento armazenado de CLR ou uma função CLR.
A mensagem de erro contém o seguinte texto:
Servidor: Msg 325, nível 15, indicar 1-procedimento NomeObjecto, Sintaxe de 4Incorrect perto de 'externo' da linha. Tem de definir o nível de compatibilidade da base de dados actual para um valor superior para activar esta funcionalidade. Consulte a ajuda para o procedimento armazenado sp_dbcmptlevel.
Resolução
Para resolver este problema, tem de definir o nível de compatibilidade da base de dados para 90 quando tenta criar objectos CLR na base de dados. Para tal, execute a seguinte instrução para a base de dados:
Exec sp_dbcmptlevel 'DatabaseName', 90
Nota Se migrar uma base de dados do Microsoft SQL Server 2000 para o SQL Server 2005, deve certificar-se de que defina o nível de compatibilidade para 90 antes de criar um objecto CLR na base de dados.
Ponto Da Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 918039 - Última Revisão: 04/08/2016 09:57:00 - Revisão: 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Express Edition, Microsoft SQL 2005 Server Workgroup

  • kbtshoot kbprb kbsql2005clr kbexpertiseadvanced kbmt KB918039 KbMtpt
Comentários