Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Depois de se ligar ao MySQL, ao SQL Server ou ao SQL do Azure, e definir opções de mapeamento de projetos e dados, pode converter objetos da base de dados MySQL para objetos SQL Server ou Base de Dados SQL do Azure, usando o Assistente de Migração do SQL Server (SSMA) para MySQL.
O processo de conversão
A conversão de objetos da base de dados obtém as definições dos objetos do MySQL, converte-as em objetos equivalentes no SQL Server ou no SQL do Azure e, em seguida, carrega essa informação nos metadados do SSMA. Ele não carrega as informações na instância do SQL Server. Pode então visualizar os objetos e as suas propriedades usando o SQL Server ou o SQL Azure Metadata Explorer.
Durante a conversão, o SSMA imprime as mensagens de saída no painel de Saída e as mensagens de erro no painel da Lista de Erros. Use a informação de saída e erro para determinar se tem de modificar as suas bases de dados MySQL ou o seu processo de conversão para obter os resultados de conversão desejados.
Definir opções de conversão
Antes de converter objetos, revise as opções de conversão do projeto na caixa de diálogo Configurações do Projeto. Ao usar esta caixa de diálogo, pode definir como o SSMA converte tabelas e índices. Para obter mais informações, consulte Configurações do projeto (conversão).
Resultados da conversão
A tabela seguinte mostra quais os objetos MySQL que são convertidos e os objetos SQL Server resultantes:
| Objetos MySQL | Objetos resultantes do SQL Server |
|---|---|
| Tabelas com objetos dependentes, como índices | O SSMA cria tabelas com objetos dependentes. A tabela é convertida com todos os índices e restrições. Os índices são convertidos em objetos SQL Server separados. O mapeamento espacial dos tipos de dados só pode ser realizado ao nível do nó da tabela. Para mais informações sobre as definições de Conversão de Tabelas, consulte Definições de Conversão |
| Funções | Se a função puder ser convertida diretamente para Transact-SQL, o SSMA criará uma função. Em alguns casos, a função deve ser convertida em um procedimento armazenado. Isto pode ser feito usando a Conversão de Funções nas Definições do Project. Nesse caso, o SSMA cria um procedimento armazenado e uma função que chama o procedimento armazenado. Escolhas apresentadas: - Converter de acordo com as definições do projeto - Converter para função - Converter para procedimento armazenado Para mais informações sobre as definições de Conversão de Funções, consulte Definições de Conversão |
| Procedures | Se o procedimento puder ser convertido diretamente em Transact-SQL, o SSMA criará um procedimento armazenado. Em alguns casos, um procedimento armazenado deve ser chamado em uma transação autônoma. Neste caso, o SSMA cria dois procedimentos armazenados: um que implementa o procedimento e outro que é utilizado para chamar o procedimento armazenado que implementa. |
| Conversão de Bases de Dados | As bases de dados como objetos MySQL não são convertidas diretamente pelo SSMA para o MySQL. As bases de dados MySQL são tratadas mais como um nome de esquema e todos os parâmetros físicos são perdidos durante a conversão. O SSMA for MySQL utiliza o Mapeamento de Bases de Dados MySQL para Esquemas do SQL Server para mapear objetos da base de dados MySQL para o par apropriado de base de dados/esquema do SQL Server. |
| Conversão de gatilho | O SSMA cria gatilhos com base nas seguintes regras: - Os gatilhos BEFORE são convertidos em gatilhos INSTEAD OF do T-SQL - Os gatilhos AFTER são convertidos em gatilhos AFTER T-SQL com ou sem iterações por linha. |
| Ver Conversão | O SSMA cria vistas com objetos dependentes |
| Conversão de Declaração | - Cada objeto de instrução SQL pode conter uma única instrução SQL do MySQL (como DDL, DML e outros tipos de instruções) ou um bloco BEGIN ... END. - Numa conversão de blocos MultiStatement Conversion: BEGIN ... END, a instrução SQL também pode conter um bloco BEGIN ... END, como o de uma definição de procedimento, função ou trigger. Esses blocos devem ser convertidos da mesma forma que são convertidos os objetos de instrução MySQL individual. |
Converter objetos da base de dados MySQL
Para converter objetos da base de dados MySQL, primeiro selecionas os objetos que queres converter e depois o SSMA faz a conversão. Para visualizar as mensagens de saída durante a conversão, no menu Exibir , selecione Saída.
Converter objetos MySQL para sintaxe SQL Server ou SQL do Azure
No MySQL Metadata Explorer, expanda o servidor MySQL e depois expanda as Bases de Dados.
Selecione objetos para converter:
Para converter todos os esquemas, selecione a caixa de verificação ao lado de Bases de Dados.
Para converter ou omitir uma base de dados, selecione a caixa de seleção ao lado do nome da Base de Dados.
Para converter ou omitir uma categoria de objetos, expanda um esquema e marque ou desmarque a caixa de seleção ao lado da categoria.
Para converter ou omitir objetos individuais, expanda a pasta de categoria e marque ou desmarque a caixa de seleção ao lado do objeto.
Para converter todos os objetos selecionados, clique com o botão direito em Bases de Dados e selecione Converter Esquema.
Você também pode converter objetos individuais ou categorias de objetos ao clicar com o botão direito do rato sobre o objeto ou na pasta principal deste e, em seguida, selecionar Converter esquema.
Ver problemas de conversão
Alguns objetos MySQL podem não ser convertidos. Você pode determinar as taxas de sucesso de conversão exibindo o relatório de conversão resumido.
Ver um relatório de resumo
No MySQL Metadata Explorer, selecione bases de dados.
No painel direito, selecione o separador Relatório .
Este relatório mostra o relatório de avaliação resumido para todos os objetos de banco de dados que foram avaliados ou convertidos. Também pode consultar um relatório resumo para objetos individuais:
Para visualizar o relatório de um esquema individual, selecione a base de dados no MySQL Metadata Explorer.
Para visualizar o relatório de um objeto individual, selecione o objeto no MySQL Metadata Explorer. Os objetos com problemas de conversão têm um ícone de erro vermelho.
Para objetos que falharam na conversão, você pode exibir a sintaxe que resultou na falha de conversão.
Ver problemas de conversão individuais
No MySQL Metadata Explorer, expanda Bases de Dados.
Expanda a base de dados que mostra um ícone de erro vermelho.
Na base de dados, expanda uma pasta com um ícone vermelho de erro.
Selecione o objeto que tem um ícone de erro vermelho.
No painel direito, selecione o separador Relatório .
Na parte superior do separador Relatório, há uma lista pendente. Se a lista mostrar Estatísticas, altere a seleção para Fonte.
SSMA exibe o código-fonte e vários botões imediatamente acima do código.
Selecione o botão Próximo Problema . Este é um ícone vermelho de erro com uma seta apontando para a direita.
O SSMA destaca o primeiro código-fonte problemático que encontra no objeto atual.
Para cada item que não pôde ser convertido, tens de determinar o que queres fazer com esse objeto:
Pode modificar o objeto na base de dados MySQL para remover ou rever código problemático. Para carregar o código atualizado no SSMA, é necessário atualizar os metadados. Para mais informações, veja Ligação ao MySQL
Você pode excluir o objeto da migração. No SQL Server ou no SQL Azure Metadata Explorer e no MySQL Metadata Explorer, desmarque a caixa de verificação junto ao item antes de carregar os objetos no SQL Server ou no SQL do Azure e migrar dados do MySQL.