Converter esquemas Db2 (Db2ToSQL)
Depois de se conectar ao DB2 e ao SQL Server e definir opções de mapeamento de projeto e dados, você pode converter objetos de banco de dados DB2 em objetos de banco de dados do SQL Server.
O processo de conversão
A conversão de objetos de banco de dados usa as definições de objeto do DB2, converte-as em objetos semelhantes do SQL Server e carrega essas informações nos metadados do Assistente de Migração do SQL Server (SSMA). Ele não carrega as informações na instância do SQL Server. Em seguida, você pode exibir os objetos e suas propriedades usando o Gerenciador de Metadados do SQL Server.
Durante a conversão, o SSMA imprime mensagens de saída no painel Saída e mensagens de erro no painel Lista de Erros. Use as informações de saída e erro para determinar se você precisa modificar seus bancos de dados DB2 ou 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. Use esta caixa de diálogo para definir como o SSMA converte funções e variáveis globais. Para obter mais informações, consulte Configurações do projeto (conversão).
Resultados da conversão
A tabela a seguir mostra quais objetos Db2 são convertidos e os objetos resultantes do SQL Server:
Objetos DB2 | Objetos resultantes do SQL Server |
---|---|
Tipos de dados | O SSMA mapeia todos os tipos, exceto os seguintes tipos:CLOB : Algumas funções nativas que funcionam com este tipo não são suportadas (por exemplo, CLOB_EMPTY() )BLOB : Algumas funções nativas para trabalhar com este tipo não são suportadas (por exemplo, BLOB_EMPTY() )DBLOB : Algumas funções nativas para trabalhar com este tipo não são suportadas (por exemplo, DBLOB_EMPTY() ) |
Tipos definidos pelo usuário | O SSMA mapeia os seguintes objetos definidos pelo usuário: - Tipo distinto - Tipo estruturado - Tipos de dados SQL PL Nota: Tipos de cursor fracos não são suportados. |
Registos especiais | A SSMA mapeia apenas os seguintes registos:CURRENT TIMESTAMP CURRENT DATE CURRENT TIME CURRENT TIMEZONE CURRENT USER SESSION_USER e USER SYSTEM_USER CURRENT CLIENT_APPLNAME CURRENT CLIENT_WRKSTNNAME CURRENT LOCK TIMEOUT CURRENT SCHEMA CURRENT SERVER CURRENT ISOLATION Outros registros especiais não são mapeados para a semântica do SQL Server. |
CREATE TABLE |
A SSMA mapeia CREATE TABLE com as seguintes exceções:Tabelas de agrupamento multidimensional (MDC) Tabelas com agrupamento por intervalo (RCT) Tabelas particionadas Mesa isolada DATA CAPTURE cláusulaIMPLICITLY HIDDEN opçãoVOLATILE opção |
CREATE VIEW |
O SSMA mapeia CREATE VIEW com WITH LOCAL CHECK OPTION mas outras opções não são mapeadas para a semântica do SQL Server |
CREATE INDEX |
Os SSMA mapeiam CREATE INDEX com as seguintes exceções:Índice XML BUSINESS_TIME WITHOUT OVERLAPS opçãoPARTITIONED cláusulaSPECIFICATION ONLY opçãoEXTEND USING opçãoOpção MINPCTUSED PAGE SPLIT opção |
Gatilhos | O SSMA mapeia a seguinte semântica de gatilho:AFTER
/
FOR EACH ROW gatilhosAFTER
/
FOR EACH STATEMENT gatilhosBEFORE
/
FOR EACH ROW e INSTEAD OF / FOR EACH ROW gatilhos |
Sequências | Mapeado. |
Declaração SELECT |
SSMA mapeia SELECT com as seguintes exceções:Cláusula data-change-table-reference - Parcialmente mapeada, mas não são suportadas as tabelas FINAL cláusula table-reference - Parcialmente mapeada, mas os termos "only-table-reference", "outer-table-reference", "analyze-table-expression", "collection-derived-table", e "xmltable-expression" não são mapeados para a semântica do SQL Server. period-specification cláusula - Não está mapeada.Cláusula do manipulador de continuidade - Não mapeada. Cláusula de correlação digitada - Não mapeada. Cláusula de resolução de acesso simultâneo - Não está mapeada. |
Declaração de VALUES |
Mapeado. |
Declaração INSERT |
Mapeado. |
Declaração UPDATE |
Os SSMA mapeiam o UPDATE com as seguintes exceções:Cláusula de referência de tabela - somente referência de tabela não é mapeada para semântica do SQL Server Cláusula de período - Não está mapeada. |
Declaração MERGE |
O SSMA mapeia MERGE com as seguintes exceções:Ocorrências únicas vs múltiplas de cada cláusula - Mapeado para a semântica do SQL Server para ocorrências limitadas de cada cláusula Cláusula SIGNAL - não corresponde à semântica do SQL ServerCláusulas mistas UPDATE e DELETE - não mapeia para a semântica do SQL ServerCláusula de período - não corresponde à semântica do servidor SQL |
Declaração DELETE |
SSMA mapeia DELETE com as seguintes exceções:Cláusula de referência de tabela - referência exclusiva de tabela não é mapeada para a semântica do SQL Server Cláusula de período - não corresponde à semântica do SQL Server |
Nível de isolamento e tipo de bloqueio | Mapeado. |
Procedimentos (SQL) | Mapeado. |
Procedimentos (externos) | Requer atualização manual. |
Procedimentos (fonte) | Não mapeie para a semântica do SQL Server. |
Declaração de atribuição | Mapeado. |
CALL declaração para um procedimento |
Mapeado. |
Declaração CASE |
Mapeado. |
Declaração FOR |
Mapeado. |
Declaração GOTO |
Mapeado. |
Declaração IF |
Mapeado. |
Declaração ITERATE |
Mapeado. |
Declaração LEAVE |
Mapeado. |
Declaração LOOP |
Mapeado. |
Declaração REPEAT |
Mapeado. |
Declaração RESIGNAL |
As condições não são suportadas. As mensagens podem ser opcionais. |
Declaração RETURN |
Mapeado. |
Declaração SIGNAL |
As condições não são suportadas. As mensagens podem ser opcionais. |
Declaração WHILE |
Mapeado. |
Declaração GET DIAGNOSTICS |
Os mapas SSMA para GET DIAGNOSTICS têm as seguintes exceções:ROW_COUNT - Mapeado.Db2_RETURN_STATUS - Mapeado.MESSAGE_TEXT - Mapeado.Db2_SQL_NESTING_LEVEL - não mapeia para a semântica do SQL ServerDb2_TOKEN_STRING - não corresponde à semântica do SQL Server |
Cursores | O SSMA mapeia cursores com as seguintes exceções: Declaração ALLOCATE CURSOR - não mapeia para a semântica do SQL ServerASSOCIATE LOCATORS declaração - não mapeia para a semântica do SQL ServerDECLARE CURSOR - A cláusula de retornábilidade não está mapeada para a semântica do SQL ServerFETCH - Mapeamento parcial. Apenas as variáveis como destino são suportadas.
SQLDA DESCRIPTOR não está mapeado para a semântica do SQL Server |
Variáveis | Mapeado. |
Exceções, manipuladores e condições | O SSMA mapeia de tratamento de exceções com as seguintes exceções:EXIT controladores - Mapeados.UNDO controladores - Mapeado.CONTINUE manipuladores - Não mapeados.Condições - Não corresponde às semânticas do SQL Server. |
SQL dinâmico | Não mapeado. |
Pseudónimos | Mapeado. |
Apelidos | Mapeamento parcial. O processamento manual é necessário para o objeto subjacente |
SINÔNIMOS | Mapeado. |
Funções padrão no DB2 | O SSMA mapeia funções padrão do DB2 quando uma função equivalente está disponível no SQL Server: |
Autorização | Não mapeado. |
Predicados | Mapeado. |
Declaração SELECT INTO |
Não mapeado. |
Declaração VALUES INTO |
Não mapeado. |
Controlo de transações | Não mapeado. |
Converter objetos de banco de dados DB2
Para converter objetos de banco de dados DB2, primeiro selecione os objetos que deseja converter e, em seguida, faça com que o SSMA execute a conversão. Para visualizar as mensagens de saída durante a conversão, navegue até Exibir>Saída.
Para converter objetos Db2 em sintaxe do SQL Server
No Db2 Metadata Explorer, expanda o servidor Db2 e, em seguida, expanda Schemas.
Selecione objetos para converter:
Para converter todos os esquemas, marque a caixa de seleção ao lado de Esquemas.
Para converter ou omitir um banco de dados, marque a caixa de seleção ao lado do nome do esquema.
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 do rato em Esquemas 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 Db2 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 Db2 Metadata Explorer, selecione Schemas.
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. Você também pode exibir um relatório de resumo para objetos individuais:
Para exibir o relatório para um esquema individual, selecione o esquema no Db2 Metadata Explorer.
Para exibir o relatório de um objeto individual, selecione o objeto no Db2 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 Db2 Metadata Explorer, expanda Schemas.
Expanda o esquema que mostra um ícone de erro vermelho.
No esquema, expanda uma pasta que tenha um ícone de erro vermelho.
Selecione o objeto que tem um ícone de erro vermelho.
No painel direito, selecione o separador Relatório.
Na parte superior da guia Relatório, há uma lista suspensa. Se a lista mostrar Estatísticas, altere a seleção para Origem.
SSMA exibe o código-fonte e vários botões imediatamente acima do código.
Selecione o botão Próximo Problema (um ícone de erro vermelho com uma seta 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, você precisa determinar o que deseja fazer com esse objeto:
Você pode modificar o código-fonte dos procedimentos na aba SQL.
Você pode modificar o objeto no banco de dados DB2 para remover ou revisar o código problemático. Para carregar o código atualizado no SSMA, você deve atualizar os metadados. Para obter mais informações, consulte conectar ao banco de dados DB2.
Você pode excluir o objeto da migração. No SQL Server Metadata Explorer e no Db2 Metadata Explorer, desmarque a caixa de seleção ao lado do item antes de carregar os objetos no SQL Server e migrar dados do DB2.