É possível executar o Assistente de Importação/Exportação do SQL Server puramente em um servidor remoto (por exemplo, de um banco de dados para outro no mesmo servidor remoto)?
Se eu configurar as conexões de origem/destino no Assistente em minha máquina local, só poderei inserir conexões com o servidor remoto como faria em minha máquina local. Não consigo entrar nas conexões porque o servidor remoto as faria. Se eu executar o Assistente, ele transferirá os dados por meio da minha máquina local, embora fosse muito mais rápido se o servidor remoto se conectasse diretamente à origem/destino.
Por exemplo:
- Um único SQL Server em uma máquina remota com dois bancos de dados: DB1 e DB2.
- SSMS na máquina local conectada ao SQL Server na máquina remota.
- Tarefa: copiar tabela (muito grande) de DB1 para DB2.
- Configure o Assistente de Importação/Exportação com conexões para ambas as tabelas.
- Problema: transferência de dados via máquina local (do DB1 para a máquina local para o DB2).
Examinei a documentação do Wizard , mas não consegui encontrar nenhuma descrição desse problema. Estou esquecendo de algo? Eu acho que a maioria dos servidores SQL são executados em alguma máquina remota e não localmente.
O código é executado na máquina onde você executa o assistente. Então não, a GUI não permitirá, por si só, uma "execução remota".
Existem outras maneiras de fazer isso. Estando no mesmo servidor, eu abriria uma janela de consulta e faria SELECT INTO. Essa é provavelmente a maneira mais rápida de conseguir o que deseja. Porém, não permite a divisão em várias transações.
É claro que você pode fazer RDP para o servidor e executar o assistente no servidor, mas eu não faria isso.
E é claro que você pode exportar os dados para um arquivo (usando, por exemplo, uma GUI ou BCP) e depois importar desse arquivo (usando, por exemplo, BCP, BULK INSERT ou uma GUI), mas, novamente, isso é muito mais confuso do que qualquer um dos puros. Soluções T-SQL.
Outra opção é criar primeiro a tabela de destino e depois fazer INSERT... SELECT. Isso pode permitir várias transações, se você fizer várias delas INSERT ... SELECT ... (com alguma cláusula WHERE adequada para que cada SELECT cubra diferentes conjuntos de dados desejados).