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

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
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
N.º DE BUGS: 352081 (SHILOH_BUGS)
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 15ENDgoCREATE TABLE dbo.TestTable ( col1 int NULL )goCREATE VIEW dbo.TestViewASSELECT col1, dbo.TestFunc() AS FuncResults FROM dbo.TestTablego					
  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.
pacote 208

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 300272 - Última Revisão: 01/16/2015 22:52:54 - Revisão: 3.2

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB300272 KbMtpt
Comentários