Como exportar a base de dados do servidor SQL para o MySQL? [duplicado]
esta pergunta já tem uma resposta aqui:
- Converter T-SQL para MySQL 5 respostas
estou a tentar converter de um ficheiro de cópia de segurança da base de dados do servidor SQL (.bak
) para o MySQL. esta pergunta e as respostas foram muito úteis, e eu importei com sucesso a base de dados, mas agora estou preso na exportação para MySQL.
a o Kit de ferramentas de migração MySQL foi sugerido, mas parece ter sido substituído pelo MySQL Workbench. É possível usar a bancada de trabalho MySQL para migrar do servidor SQL da mesma forma que a ferramenta de migração funcionou?
ou a caixa de ferramentas de migração ainda está disponível em algum lugar?
11 answers
Você pode usar o MySQL Workbench que oferece uma forma de migrar rapidamente dados e aplicações do servidor SQL da Microsoft para o MySQL empregando menos tempo e esforço.
Esta ferramenta tem muitas características fixes como:
- database migrations - activa as migrações do Microsoft SQL Server, Sybase ASE e PostgreSQL.
- Gestão de projectos de migração - permite configurar, copiar, editar, executar e prever.
USO o sqlyog para migrar do mssql para o mysql. Eu tentei toolkit de Migração e workbench mas gostei sqlyog para o seuSJA . Eu poderia agendar o processo de importação e poderia fazer importação incremental usando a cláusula onde.
O PhpMyAdmin tem um assistente de importação que lhe permite importar também um tipo de ficheiro MSSQL.
Ver http://dev.mysql.com/doc/refman/5.1/en/sql-mode.html para os tipos de programas DB que suporta.
Como mencionado acima, se os seus dados contiverem caracteres de tabulação, vírgulas ou linhas novas nos seus dados, então será muito difícil exportá-los e importá-los com CSV. Os valores transbordarão dos Campos e você receberá erros. Este problema é ainda pior se algum dos seus campos longos contém texto multi-linhas com caracteres newline neles.
O meu método nestes casos é usar o utilitário BCP linha de comandos para exportar os dados do servidor SQL, e depois usar o ficheiro de dados de carga .. NA TABELA comando no MySQL para ler o ficheiro de dados de volta. BCP é um dos mais antigos utilitários de linha de comandos SQL Server (datando do nascimento do servidor SQL - v6.5), mas ainda está por aí e ainda é uma das maneiras mais fáceis e mais confiáveis de obter dados para fora.
Para usar esta técnica, você precisa criar cada tabela de destino com o mesmo esquema ou equivalente em MySQL. Faço isso clicando com o botão direito na Base de dados do SQL enterprise manager,em seguida, Tarefas - > Gerar Scripts... e criar um script SQL para todas as mesas. Você deve então converter o script para SQL compatível com MySQL à mão (definitivamente a pior parte da tarefa) e, finalmente, executar os comandos de tabela criar na base de dados MySQL para que você tenha tabelas correspondentes à coluna de versões do servidor SQL-sábio, vazio e pronto para os dados.
Então, exporta os dados do lado MS-SQL da seguinte forma.
bcp DatabaseName..TableName out TableName.dat -q -c -T -S ServerName -r \0 -t !\t!
(Se estiver a usar o SQL Server Express, use o valor A-S como so: - S "ComputerName\SQLExpress")
Isso irá criar um ficheiro nome de tabuleiro.dat, com campos delimitados ![tab]! e linhas delimitadas por caracteres \0 NUL.
Agora copia o .dat files into / tmp on the MySQL server and load on the MySQL side like so:LOAD DATA INFILE '/tmp/TableName.dat' INTO TABLE TableName FIELDS TERMINATED BY '!\t!' LINES TERMINATED BY '\0';
Não se esqueça que as tabelas (TableName neste exemplo) devem ser criadas já no lado MySQL.
Este procedimento é dolorosamente manual quando se trata de converter o esquema SQL sobre, no entanto ele funciona mesmo para o mais difícil dos dados e porque ele usa arquivos planos que você nunca precisa convencer o servidor SQL a falar com MySQL, ou vice-versa.
Você pode fazer isso facilmente usando Ferramenta de carregamento de dados . Eu já fiz isso antes de usar esta ferramenta e achei-a boa.
Se tiver um dump SQL compatível com MSSQL, poderá convertê-lo para consultas MySQL, uma a uma, usando esta ferramenta 'online'
Espero que te tenha poupado tempo.Parece-me que está correcto: o Kit de ferramentas de migração deverá ser integrado com o MySQL Workbench - mas acho que isto ainda não foi concluído. Veja o anúncio de fim de vida para as ferramentas GUI MySQL (que incluíam a caixa de ferramentas de migração):
Http://www.mysql.com/support/eol-notice.html
O MySQL mantém os arquivos dos pacotes de ferramentas GUI MySQL:
Usei o texto de ligação abaixo na página avançada do Kit de ferramentas de migração MySQL para ligar à instância do servidor de SQL 2008:
jdbc:jtds:sqlserver://"sql_server_ip_address":1433/<db_name>;Instance=<sqlserver_instanceName>;user=sa;password=PASSWORD;namedPipe=true;charset=utf-8;domain=
Normalmente o parâmetro tem "systemName\instanceName". Mas no acima, não adicione "systemName\" (use apenas o InstanceName).
Para verificar o nome do instanceName, vá aos Serviços.MSC e verifique o nome do DisplayName da instância MSSQL. Ele mostra semelhante ao mssql$instanceName. Espero que isto ajude na conectividade MSSQL. do kit de ferramentas de migração mysql.O Kit de ferramentas de migração MySQL (1.1.10) ainda está disponível para download a partir daqui:
Http://downloads.mysql.com/archives.php?p=MySQLDeveloperSuite&v=1.1.10
OS Downloads já não estão disponíveis no sítio web oficial ( http://dev.mysql.com/downloads/gui-tools/5.0.html em vez disso, dê uma olhada aqui: http://download.softagency.net/MySQL/Downloads/MySQLGUITools/
- Abra a base de dados mssql no sql server management studio express (I used 2005)
- abre cada tabela por vez e
Carregue no canto superior esquerdo para seleccionar a tabela inteira:
Copiar os dados para a área de transferência (ctrl + v)
- Abrir ms excel
- pasta dados da área de transferência
- Salve o arquivo excel como .csv
- Repita o que precede para cada tabela
- Agora você deve ser capaz de importar os dados para mysql