CORRECÇÃO: Falha de transferência de uma vista que contém um UDF utilizando DTS exportar dados com o erro 208

Traduções de Artigos Traduções de Artigos
Artigo: 300272 - Ver produtos para os quais este artigo se aplica.
N.º DE BUGS: 352081 (SHILOH_BUGS)
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Tenta transferir uma vista utilizando o Assistente de importação/exportação Service de transformação de dados (DTS) falha nas seguintes condições:
  • A vista inclui uma função definida pelo utilizador (UDF).
  • Quando copiar objectos e dados entre bases de dados do SQL Server.
O texto seguinte é um exemplo da mensagem de erro apresenta:
Falha ao copiar objectos do Microsoft SQL Server para Microsoft SQL Server
[Microsoft][Controlador ODBC SQL Server][Servidor SQL]Nome de objecto inválido 'dbo.TestFunc'.
Nota : "dbo.TestFunc" é o nome do UDF.

Causa

A vista está a ser criada na base de dados destino antes de UDF, que é o objecto dependente. Primeiro, tem de ser criados todos os objectos dependentes.

Resolução

Para resolver este problema, obtenha o service pack mais recente do SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211INF: How to Obtain the Latest SQL Server 2000 Service Pack

Como contornar

Transferir todos os objectos que a vista depende do primeiro e, em seguida, quando transfere a vista, não incluem objectos dependentes.

Ponto Da Situação

A Microsoft confirmou que este é um problema no SQL Server 2000. Este problema foi corrigido pela primeira vez no SQL Server 2000 Service Pack 1.

Mais Informação

Passos para reproduzir o comportamento

  1. Na base de dados de origem, executar este código para criar a tabela, vista e UDF:
    CREATE FUNCTION TestFunc ()
    RETURNS INT AS  
    BEGIN 
    	RETURN 15
    END
    go
    
    CREATE TABLE dbo.TestTable ( col1 int NULL )
    go
    
    CREATE VIEW dbo.TestView
    AS
    SELECT col1, dbo.TestFunc() AS FuncResults FROM dbo.TestTable
    go
    					
  2. Agora, utilize o Assistente de exportação/importação DTS para copiar estas para outra base de dados do SQL Server.
  3. Seleccione a opção copiar objectos e dados entre bases de dados do SQL Server . Deixe as opções de scripts com as respectivas predefinições. Este procedimento falhar com a seguinte mensagem de erro no ficheiro. log para base de dados de destino:
    Estado da transferência: Criar vistas na base de dados de destino
    [Microsoft][Controlador ODBC SQL Server][Servidor SQL]Nome de objecto inválido 'dbo.TestFunc'.
Para contornar este problema, copie a tabela dependente, TestTable e "TestFunc" UDF em primeiro. Em seguida, copie a vista com a opção incluir todos os objectos dependentes desmarcada.

Propriedades

Artigo: 300272 - Última revisão: 5 de novembro de 2003 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB300272 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: 300272

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