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

Traduções deste artigo Traduções deste artigo
ID do artigo: 300272 - Exibir os produtos aos quais esse artigo se aplica.
BUG #: 352081 (SHILOH_BUGS)
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Tenta transferir um modo de exibição usando o Assistente para importação e exportação de DTS (Data Transformation Service) falha sob as seguintes condições:
  • O modo de exibição inclui uma função definida pelo usuário (UDF).
  • Ao copiar objetos e dados entre bancos de dados SQL Server.
O seguinte texto é um exemplo da mensagem de erro que exibe:
Falha ao copiar objetos do Microsoft SQL Server para Microsoft SQL Server
[Microsoft][ODBC SQL Server Driver][SQL Server]Nome de objeto inválido 'dbo.TestFunc'.
Observação : "dbo.TestFunc" é o nome do UDF.

Causa

O modo de exibição está sendo criado no banco de dados destino antes do UDF, que é o objeto dependente. Todos os objetos dependentes devem ser criados pela primeira vez.

Resolução

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

Como Contornar

Transferir todos os objetos que o modo de exibição depende primeiro e, em seguida, quando você transfere o modo de exibição, não incluem objetos dependentes.

Situação

A Microsoft confirmou que este é um problema no SQL Server 2000. Esse problema foi corrigido primeiro no SQL Server 2000 Service Pack 1.

Mais Informações

Etapas para reproduzir o problema

  1. No banco de dados de origem, executar este código para criar a tabela, modo de exibição 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, use o Assistente para exportação/importação de DTS para copiar esses arquivos para outro banco de dados do SQL Server.
  3. Selecione a opção copiar objetos e dados entre bancos de dados SQL Server . Deixe todas as opções scripts em suas configurações padrão. Isso falhar com a seguinte mensagem de erro no arquivo de log de banco de dados de destino:
    Status da transferência: Criando exibições no banco de dados de destino
    [Microsoft][ODBC SQL Server Driver][SQL Server]Nome de objeto inválido 'dbo.TestFunc'.
Para solucionar esse problema, copiar a tabela dependente, TestTable e "TestFunc" UDF pela primeira. Em seguida copie o modo de exibição com a opção incluir todos os objetos dependentes desmarcada.

Propriedades

ID do artigo: 300272 - Última revisão: quarta-feira, 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 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: 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