Contexto:
Eu criei um dump de uma tabela sql em XML (incluindo dados e esquema) usando este comando no prompt de comando.
BCP "SELECT * FROM Database.Schema.TableName FOR XML AUTO, XMLSCHEMA" queryout C:\data.xml -w -r "" -S localhost -T
Agora que estou equipado com o arquivo XML contendo todas as informações que preciso, gostaria de carregá-lo em outro banco de dados.
Como é tão fácil criar esse dump de tabela em um arquivo xml, suponho que deve haver uma maneira simples de carregar o arquivo XML em um banco de dados (cria a tabela e depois carrega os dados). Alguém sabe como fazer isso?
Isenção de responsabilidade: não sou um DBA e esta é minha primeira experiência com o BCP, a documentação falava sobre a criação de um arquivo Format, mas não parecia funcionar para mim.
Agradecemos antecipadamente por suas respostas
Eu escrevi uma postagem no blog mostrando alguns exemplos de comandos BCP, incluindo como criar o arquivo de formato, em https://www.sqlserverscience.com/tools/example-bcp-export-import-commands/
Este comando deve criar o arquivo de formato que é essencial para importação via bcp:
dbo.Oranges
é o nome da tabela.FRUIT\PEARS
é o nome da instância do SQL Server.Fruit
é o nome do banco de dados.Se você estiver tendo problemas com o arquivo XML, recomendo usar o formato binário nativo gerado pelo BCP. Ele garante que a exportação e a importação funcionem sem perda de dados e é totalmente compatível com várias versões do SQL Server.