Microsoft SQL Server Migration Assistant for Oracle

Propaganda
Microsoft SQL Server Migration
Assistant™ para Oracle
Facilitando a Migração de Bancos de Dados
Publicado: Março de 2005
Para as informações mais recentes, consulte
http://www.microsoft.com/brasil/sql/solutions/ssm/default.mspx.
Índice
Introdução ...................................................................................................................................1
Fase de Avaliação ..................................................................................................................1
Conversão de Esquemas .......................................................................................................3
Migração de Dados.................................................................................................................5
Conversão da Lógica de Negócio...........................................................................................5
Validação, Integração e Análise de Desempenho ................................................................12
Conclusão .................................................................................................................................13
Introdução
O SQL Server é o principal sistema de gerenciamento de bancos de dados relacional no
mercado hoje. Segundo recentes relatórios do IDC (consulte
http://news.com.com/Database+sales+show+some+life/2100-1012_3-5602603.html), O SQL
Server é o banco de dados que cresce mais rapidamente no mercado. Os clientes estão
adotando o SQL Server por causa de seu baixo custo total de propriedade, facilidade de
gerenciamento, segurança robusta e escalabilidade de classe empresarial. Contudo, muitos
clientes continuam executando seus aplicativos com outros bancos de dados tais como
Oracle e DB2. Isto se deve principalmente pelo custo e complexidade de migração desses
bancos de dados para o SQL Server.
Para tratar dessa situação, a Microsoft está oferecendo um novo produto para facilitar a
migração para o SQL Server. O Microsoft SQL Server Migration Assistant (SSMA Assistente de Migração do Microsoft SQL Server) automatiza o processo de migração a
partir de outros bancos de dados para o SQL Server. Este documento explicará cada passo
do processo de migração de bancos de dados e discutirá como o SSMA significativamente
acelera, e reduz os custos de cada um dos passos. O lançamento inicial do SSMA dedica-se
à migração do Oracle para o Oracle to Microsoft SQL Server 2000.
O SQL Server Migration Assistant consiste nos seguintes componentes principais:

Migration Analyzer — avalia a complexidade do projeto de migração.

Schema & Data Migrator and SQL Converter — realiza a conversão do banco de dados
e proporciona uma poderosa interface para desenvolvedores de bancos de dados de
plataformas cruzadas.

Migration Tester — oferece validação automatizada do processo de migração.
Migrar sua aplicação a partir de um outro sistema de banco de dados para o SQL Server
inclui as seguintes fases.
Fase de Avaliação
Conversão de Esquema
Migração dos Dados
Conversão da lógica de negócio
Validação, integração e análise de desempenho.
As seções a seguir cobrem cada um desses passos usando o Assistente de Migração do
SQL Server para mostrar como a migração é realizada.
Fase de Avaliação
Quando TI determina que seria benéfico migrar um número de bancos de dados de Oracle
para SQL Server; o primeiro passo é avaliar a dificuldade, tempo e custo da migração.
Fatores que contribuem diretamente para isso são a “complexidade” dos bancos de dados e
das aplicações que os usam. Embora não haja uma medida formal para complexidade de
bancos de dados, seria cada vez mais complexo e custoso migrar quanto mais objetos de
lógica de negócio (procedimentos armazenados, funções, triggers, pacotes e assim por
diante) que ele contém. Aumentando a complexidade da migração estão as diferenças de
funções de sistema entre as duas plataformas. Funções fornecidas por uma plataforma
podem não ser oferecidas pela outra, ou pode haver diferenças sintáticas ou semânticas na
implementação de funções comuns.
Microsoft SQL Server Migration Assistant
1
A complexidade da migração das aplicações para o novo banco de dados também precisa
ser avaliada. O número de solicitações de SQL feitas pela aplicação contribui para essa
complexidade, porque todas elas devem ser convertidas. Ainda mais importante, o grau no
qual SQL dinâmico é usado aumenta significativamente a complexidade da conversão,
porque pode ser necessário reescrever um grande código para se converter as consultas de
SQL dinâmica.
O resultado da avaliação da migração é uma estimativa da quantidade de esforço necessário
para a conclusão de cada passo do processo de migração, e a despesa total do projeto.
Deve-se notar que conduzir a avaliação da migração pode, ela própria, ser um esforço
dispendioso em tempo e dinheiro. Não é incomum que uma avaliação leve vários meses para
um grande projeto de migração e custe dezenas de milhares de dólares.
Felizmente, existe uma nova ferramenta de avaliação de migração, o SSMA Migration
Analyzer, que realiza uma análise profunda para obter estimativas do tempo e esforço
necessários para a migração de um banco de dados. Tipicamente, uma avaliação levará
menos de um dia para se completar. A ferramenta oferece uma estimativa do trabalho
necessário para migrar o banco de dados manualmente, assim como a porcentagem do
banco de dados que pode ser convertida automaticamente. O Migration Analyzer computa
aproximadamente 100 estatísticas específicas que caracterizam o banco de dados de
maneira abrangente. O SQL Converter converte tipicamente mais de 90 por cento do código
SQL, automaticamente, e já realizou até 99 por cento de conversão automática do código.
Além do perfil abrangente do banco de dados em Oracle, o relatório da avaliação indica os
objetos do banco de dados que o SQL Converter não pode converter, com as construções
específicas no código que provocam o problema.
A seguir estão algumas das estatísticas computadas pelo Migration Analyzer sobre todos os
objetos do banco de dados no banco de dados de origem em Oracle. Elas incluem:
Número total de objetos de banco de dados tais como procedimentos, funções, triggers,
tabelas, índices, pacotes, seqüências e visualizações.
Número total de linhas de código, inclusive estatísticas por objeto.
Número total de instruções SELECT, INSERT, DELETE, e UPDATE.
Número total de CURSORs , RECORDs, e EXCEPTIONs.
Número total e porcentagem dos componentes automaticamente conversíveis.
Complexidade estimada da conversão.
Duração estimada da migração do projeto em termos de horas de trabalho manual
(considerando-se a NÃO utilização do SSMA).
As estatísticas fornecidas pelo Migration Analyzer podem ser salvas em um arquivo externo
em formato compatível com Excel para possibilitar ao usuário o trabalho com esses dados
offline se preferir.
Microsoft SQL Server Migration Assistant
2
A tomada de tela a seguir mostra como o Migration Analyzer apresenta essas estatísticas ao
usuário:
Conversão de Esquemas
Mapeamento de esquemas e objetos
O esquema é a base para definir o banco de dados de destino. Na migração a partir do
Oracle para o SQL Server, o novo esquema pode ser derivado de uma maneira bastante
direta a partir do esquema original. Em virtude de diferenças de recursos entre as duas
plataformas, o mapeamento entre os esquemas não pode ser de um para um. Um exemplo
de onde isso se manifesta é em lidar-se com atributos de como BLOBs.
O Oracle suporta múltiplos atributos com valores de BLOB por tabela enquanto o SQL
suporta apenas um por tabela. Neste caso, uma única tabela em Oracle pode mapear
múltiplas tabelas em SQL Server. Por causa de tais diferenças, migrar os dados entre bancos
de dados pode não ser uma simples cópia de tabelas, porque as novas estruturas de tabela
podem ser um pouco diferentes das antigas. Há muitos anos já existem ferramentas
disponíveis para ajudar na definição manual de esquemas de banco de dados. Existe outro
conjunto de ferramentas para transformar e mover fisicamente grandes bancos de dados
entre plataformas. O Schema & Data Migrator (SSMA) converte automaticamente um
esquema de banco de dados em Oracle (tabelas, restrições, índices) em um esquema em
Microsoft SQL Server, migrando os dados fisicamente para ocupar o novo banco de dados.
Quando o SSMA inicia, o usuário se conecta com:
O banco de dados de origem em Oracle especificando os seguintes parâmetros:
Hotsname, port, SID, username, password.
O banco de dados de destino em Microsoft SQL Server (SQL SERVER) especificando os
seguintes parâmetros:
Microsoft SQL Server Migration Assistant
3
Hostname, port, instance name, database name, schema, username, password.
O usuário verá a seguinte interface gráfica:
A metade superior representa os objetos do banco de dados de origem, acessível através dos
controles de navegação à esquerda. Semelhantemente, a metade inferior apresenta objetos
traduzidos prontos para a inserção no banco de dados de origem. O usuário pode selecionar
os objetos de origem, neste caso do banco de dados em Oracle (padrão ou qualquer outro
esquema), que serão convertidos no esquema do SQL Server. Os objetos convertidos podem
então ser pesquisados na metade inferior da tela. Além disso, depois que o usuário verifica os
objetos gerados e possivelmente faz alguma revisão no esquema, ele pode gerar um script
para carregar o esquema gerado no SQL Server.
Para funções e procedimentos de sistema Oracle que não têm contrapartes em SQL Server,
há um de banco de dados SYSDB com esquema SYS, e os scripts de instalação carregarão
UDFs, procedimentos armazenados, e procedimentos armazenados estendidos que emulam
o comportamento de objetos em Oracle. Quando uma tabela é salva com script, dois arquivos
são produzidos: um com definições de tabela e índice, e outra com restrições e triggers. Uma
nova coluna ROWID de tipo de dados de identificador exclusivo com valor padrão NEWID()
será adicionado a cada tabela convertida para auxiliar com as conversões de trigger.
Mapeamento de tipo de dados
Quando da conversão de tabelas, os tipos de dados escalares serão convertidos em tipos de
dados em SQL Server baseados nas regras a seguir:
varchar2 → varchar
char → char
number → numeric
date → datetime
long → text
Microsoft SQL Server Migration Assistant
4
nvarchar2 → nvarchar
boolean → smallint
Mapeamento e conversão de restrições
Padrões em Oracle serão convertidos em padrões em SQL Server, chaves primárias em
chaves primárias, chaves exclusivas em chaves exclusivas, chaves externas em chaves
externas, restrições NOT NULL em NOT NULL, restrições de verificação em restrições de
verificação. Padrões, chaves primárias, exclusivas e externas conservarão seus nomes.
Conversão de visualização (view)
Visualizações em Oracle serão convertidas em visualizações em SQL Server.
Conversão de índices
Índices em Oracle serão convertidos em índices em SQL Server.
Conversão de seqüência
Seqüências em Oracle serão emuladas em SQL SERVER usando uma tabela e duas
funções. Cada seqüência será representada como uma linha em uma tabela
SequenceEmulator .
SeqName.CURRVAL será convertida em uma chamada de função
db_get_curr_sequence_value.
SeqName.NEXTVAL será convertida em uma chamada de função
db_get_next_sequence_value.
Migração de Dados
Existe outro conjunto de ferramentas para transformar e mover fisicamente grandes bancos
de dados entre plataformas. O Schema & Data Migrator (SSMA) converte automaticamente
um esquema em Oracle (tabelas, restrições, índices) em um esquema em Microsoft SQL
Server, migrando fisicamente os dados para ocupar o novo banco de dados.
Depois que o esquema é convertido, os dados podem ser migrados. Serão migrados numa
base de tabela em tabela ou todas as tabelas selecionadas de uma só vez. Como o processo
de migração de dados insere registros na tabela de destino, é responsabilidade do usuário
cuidar que nenhuma restrição ou trigger evite que os registros sejam inseridos na tabela.
Conversão da Lógica de Negócio
Como notado anteriormente, a complexidade do banco de dados do ponto de vista de uma
migração é uma função do número de objetos de lógica de negócio que ele contém, do
tamanho desses objetos e dos recursos particulares da linguagem usada para implementálos. Uma complexidade adicional deriva de diferenças nas bibliotecas de função do sistema
fornecidas nas duas plataformas.
Por exemplo, a linguagem de procedimento armazenada, PL/SQL, possui muitos recursos
não suportados em Transact-SQL (T-SQL), a linguagem de procedimento armazenada do
SQL Server, e mesmo onde existem recursos similares, as linguagens contêm muitas
diferenças sintáticas e semânticas. Para migrar um objeto em PL/SQL que usa um recurso
que não possui uma contraparte em T-SQL requer que essa capacidade seja emulada em TSQL usando os recursos disponíveis. Desenvolver uma boa emulação pode ser bastante sutil
e demorado. De fato, várias sutilezas precisam ser tratadas na migração seja para
desenvolver emulações para recursos que faltam como para esclarecer diferenças
semânticas em recursos correspondentes.
Microsoft SQL Server Migration Assistant
5
Conversão de SQL
Os ingressos externos de forma (+) no Oracle serão convertidos em ingressos externos do
padrão ANSI no SQL Server.
Dicas em Oracle serão convertidas em dicas em SQL Server. As dicas atualmente
suportadas incluem FIRST_ROWS, INDEX (tablename indexname), APPEND,
MERGE_AJ, MERGE_SJ, MERGE(tablename). Algumas das dicas em Oracle não têm
equivalentes em SQL Server, e serão ignoradas.
Exemplo:
Oracle
select /*+ first_rows index (rank_table
ix_rank_table_1) */ r_id
from rank_table;
Microsoft SQL Server
select r_id
from rank_table with (index (ix_rank_table_1))
option (fast 1)
O tipo Booleano de dados em Oracle é convertido em smallint em SQL Server, usando várias
regras.
Exemplo:
Oracle
declare
v1 boolean := true;
v2 boolean := false;
…
begin
…
v1 := (x>3) and v2;
end;;
Microsoft SQL Server
Declare
@v1 smallint,
@v2 smallint
set @v1 = /* TRUE */ 1
set @v2 = /* FALSE */ 0
begin
set @a = case when ((@x>3) and (@v2 <> /*
FALSE */ 0)) THEN /*TRUE*/ 1 ELSE /*FALSE*/
0 end
end
Procedimento armazenando e conversão de função
Procedimentos armazenados em Oracle serão convertidos em procedimentos armazenados
em SQL Server.
Cadeias de parâmetros com extensão não especificada serão convertidas e um aviso será
relatado.
Parâmetros numéricos com extensão e precisão não especificadas serão convertidos em
numeric(38, 10) e um aviso será relatado.
Funções em Oracle serão convertidas em funções definidas pelo usuário em SQL Server.
Uma função contendo instruções UPDATE/INSERT/DELETE será substituída por uma função
e um procedimento armazenado contendo o corpo da função de origem em Oracle.
Uma função contendo um parâmetro de saída será substituída por um procedimento
armazenado. Existe um número limitado de casos em que tal substituição pode não ser
totalmente equivalente, e esses casos devem ser manejados manualmente.
Conversão de trigger
Triggers serão convertidos em triggers com base nas seguintes regras:
Triggers BEFORE serão convertidos em triggers INSTEAD OF.
Triggers AFTER serão convertidos em triggers AFTER.
Triggers de nível de linha serão emulados usando processamento de cursos.
Microsoft SQL Server Migration Assistant
6
Múltiplos triggers definidos na mesma operação serão combinados em um trigger.
Exemplo:
Oracle
create trigger tr_bi_rank_table
before insert on rank_table for
each row
begin
select seq_rank_id.nextval
into :new.r_id from sys.dual;
end;
Microsoft SQL Server
create trigger instead_of_insert_on_rank_table
on rank_table instead of insert
as
/* begin of trigger implementation */
set nocount on
/* column variables declaration */
declare
@column_new_value____1 numeric,
@column_new_value____2 varchar(50),
@column_new_value____3 numeric,
@column_new_value____4 char(1)
/* iterate for each row from inserted/deleted tables*/
declare ForEachInsertedRowTriggerCursor cursor local
forward_only read_only
for select “RANK”, “RANK_NAME”, “R_ID”, “R_SN”
from inserted
open ForEachInsertedRowTriggerCursor
fetch next from ForEachInsertedRowTriggerCursor
into
@column_new_value____1,@column_new_value____2,
@column_new_value____3,@column_new_value____4
while @@fetch_status = 0
begin
/* Oracle trigger tr_bi_rank_table implementation:
begin*/
begin
select @ column_new_value____3 =
SYSDB.SYS.DB_GET_NEXT_SEQUENCE_VALUE
(‘SCHEMA_NAME’, ‘SEQ_RANK_ID’)
end
/* Oracle trigger tr_bi_rank_table implementation: end*/
/* DML-operation emulation */
insert into rank_table (“RANK”, “RANK_NAME”,
“R_ID”, “R_SN)” values
(@column_new_value____1,@column_new_value____2,
@column_new_value____3,@column_new_value____4)
fetch next from ForEachInsertedRowTriggerCursor
into
@column_new_value____1,@column_new_value____2,
@column_new_value____3,@column_new_value____4
end
close ForEachInsertedRowTriggerCursor
deallocate ForEachInsertedRowTriggerCursor
Microsoft SQL Server Migration Assistant
7
/* end of trigger implementation */
Conversão de pacotes
Funções de pacote serão convertidas em funções definidas pelo usuário usando a convenção
de nomeação PackageName_FunctionName.
Procedimentos de pacote serão convertidos em procedimentos armazenados usando a
convenção de nomeação PackageName_ProcedureName.
Variáveis de pacote serão emuladas usando uma tabela e um conjunto de funções.
Funções de sistema
Funções de sistema serão convertidas em funções de sistema do Microsoft SQL Server ou
funções definidas pelo usuário a partir da biblioteca de funções de sistema fornecida.
Instruções de controle
A instrução IF será convertida na instrução IF.
As instruções IF-ELSIF… ELSIF-ELSE-END IF serão convertidas em instruções IF
aninhadas.
A instrução NULL será convertida em uma chamada para o procedimento
SYSDB.SYS.DB_NULL_STATEMENT.
Exemplo:
Oracle
declare v1 numeric;
begin
v1 := 1;
if v1 > 1 then
dbms_output.put_line (‘1>1’);
v1 := 100;
elseif v1 > 2 then
dbms_output.put_line (‘1 > 2’);
v1 := 200;
else
dbms_output.put_line (‘None’);
null;
end if;
end;
Microsoft SQL Server
declare @v1 numeric
begin
set @v1 = 1
if (@v1 > 1)
begin
print ‘1>1’
set @v1 = 100
end
else
if (@v1 > 2)
begin
print ‘1>2’
set @v1 = 200
end
else
begin
print ‘None’
exec SYSDB.SYS.DB_NULL_STATEMENT
end
end
A instrução CASE será convertida na instrução CASE.
A instrução GOTO será convertida na instrução GOTO.
Instruções de loop
A instrução LOOP (com EXIT ou EXIT WHEN) será convertida na instrução WHILE (1=1)
com instrução BREAK.
Exemplo:
Oracle
Microsoft SQL Server Migration Assistant
Microsoft SQL Server
8
loop
exit when rank > max_rank;
do something;
rank := rank + 1;
end loop;
while (1 =1)
begin
if @rank > @max_rank
break
do something
set @rank = @rank + 1
end
A instrução WHILE será convertida na instrução WHILE.
Exemplo:
Oracle
while rank <= max_rank
loop
do something;
rank := rank + 1;
end loop;
Microsoft SQL Server
while (@rank <= @max_rank)
begin
do something
set @rank = @rank + 1
end
O loop numérico FOR (incluindo a palavra-chave opcional REVERSE) será convertida na
instrução WHILE.
Exemplo:
Oracle
for rank in 1..max_rank
loop
do something;
end loop;
Microsoft SQL Server
declare @rank int
set @rank = 1
while (@rank <= max_rank)
begin
do something
set @rank = @rank + 1
end
Conversão do cursor
Os cursores serão convertidos em cursores.
Os atributos do cursor serão convertidos como se segue:
o
o
o
o
cursor_name%NOTFOUND  (@@FETCH_STATUS = -1)
cursor_name%FOUND  (@@FETCH_STATUS = 0)
cursor_name%ISOPEN  (cursor_status (‘local’, ‘cursor_name’) = 1)
cursor_name%ROWCOUNT  @v_cursor_name_rowcount declarado e
incrementado após cada operação de busca
Exemplo:
Oracle
Declare
cursor rank_cur is
select rank, rank_name
from rank_table;
rank_rec rank_cur%ROWTYPE;
begin
open rank_cur;
loop
fetch rank_cur into rank_rec;
exit when rank_cur%NOTFOUND;
do something;
end loop;
Microsoft SQL Server Migration Assistant
Microsoft SQL Server
Declare
@v_rank_cur_rowcount int,
@rank numeric,
@rank_name varchar(50)
declare
rank_cur cursor for
select rank, rank_name
from rank_table;
begin
open rank_cur
set @v_rank_cur_rowcount = 0
while (1=1)
9
close rank_cur;
end;
begin
fetch next from rank_cur
into @rank, @rank_name
set @v_rank_cur_rowcount
= @v_rank_cur_rowcount + 1
if (@@fetch_status = -1)
break
do something
end
close rank_cur
deallocate rank_cur
end
Cursores com parâmetros serão convertidos em múltiplos cursores.
Exemplo:
Oracle
declare
cursor rank_cur (id number, sn char(1))
is select rank, rank_name
from rank_table
where r_id = id and r_sn = sn;
begin
open rank_cur (1, ‘c’);
open rank_cur (2, ‘d’);
end;
Microsoft SQL Server
declare
@id numeric,
@sn char(1)
begin
set @id = 1
set @sn = ‘c’
declare
rank_cur_1 cursor for
select rank, rank_name
from rank_table
where r_id = @id and r_sn = @sn
open rank_cur_1
set @id = 2
set @sn = ‘d’
declare
rank_cur_2 cursor for
select rank, rank_name
from rank_table
where r_id = @id and r_sn = @sn
open rank_cur_2
end
O loop de cursor FOR será convertido em um cursor com variáveis locais.
CLOSE cursor_name será convertido em CLOSE cursor_name e DEALLOCATE
cursor_name.
Conversão de RETURN
A instrução RETURN será convertida na instrução RETURN.
Conversão de comentários
Comentários serão convertidos em comentários.
Microsoft SQL Server Migration Assistant
10
Conversão de declaração variável.
Declarações variáveis estáticas serão convertidas em declarações variáveis.
Declarações variáveis incluindo %TYPE têm os dados de coluna determinados no momento
da conversão. Por exemplo, se uma variável é declarada da seguinte forma:
var1 table1.col1%TYPE;
e a col1 em table1 tem o tipo de dado varchar2(50), então será convertido em:
var1 varchar(50)
Declarações variáveis incluindo %ROWTYPE em Oracle serão convertidas em um grupo de
variáveis locais em SQL Server.
RECORDs em Oracle serão convertidos em um grupo de variáveis locais em SQL Server.
Exemplo:
Oracle
create or replace procedure test_proc
(
arg_rec1 table1%ROWTYPE;
arg_rec2 table2%ROWTYPE;
)
as
type rec is record
(
col1 int;
col2 table1.c1%TYPE;
col3 varchar2(32)
);
rec1 rec;
begin
rec1 := NULL;
rec1 := arg_rec1;
rec1.col2 := arg_rec2.col1_table1;
end;
Microsoft SQL Server
create procedure test_proc
@arg_rec1_col1_table1 numeric (38),
@arg_rec1_col2_table1 numeric (38),
@arg_rec1_col3_table1 varchar (32),
@arg_rec2_col1_table1 numeric (38),
@arg_rec2_col2_table1 numeric (38),
@arg_rec2_col3_table1 varchar (32)
as
declare
@rec1_col1 int,
@rec1_col2 numeric,
@rec1_col3 varchar (32)
begin
set @rec1_col1 = null
set @rec1_col2 = null
set @rec1_col3 = null
set @rec1_col1 = @arg_rec1_col1_table1
set @rec1_col2 = @arg_rec1_col2_table1
set @rec1_col3 = @arg_rec1_col3_table1
set @rec1_col2 = @arg_rec2_col1_table1
end
Conversão de exceção
Exceções serão emuladas em Transact-SQL. A emulação pode ser ativada ou desativada. Se
estiver desativada, não ocorrerá nenhum manejo de exceção em SQL Server. Se a emulação
estiver ativada, exceções definidas pelo usuário e do sistema são convertidas usando as
instruções IF, GOTO e funções definidas pelo usuário. As exceções de sistema atualmente
suportadas incluem NO_DATA_FOUND e TOO_MANY_ROWS. Todas as exceções de
usuário são suportadas.
Conversão de chamadas de procedimento e de função
Chamadas de procedimento serão convertidas em chamadas de procedimento.
Chamadas de função serão convertidas em chamadas de função.
Microsoft SQL Server Migration Assistant
11
Conversão de gerenciamento de transação
Instruções BEGIN TRAN, COMMIT, e ROLLBACK em Oracle serão convertidas nas
instruções BEGIN TRAN, COMMIT, e ROLLBACK correspondentes em SQL Server.
Como em Oracle as transações são automaticamente iniciadas quando uma operação DML é
realizada, em SQL Server nós permitimos transações implícitas usando a instrução SET
IMPLICIT_TRANSACTIONS ON ou usaremos BEGIN TRAN e COMMIT TRAN.
SAVEPOINT será convertida em SAVE TRANSACTION.
Validação, Integração e Análise de Desempenho
A ferramenta de visualização Zebra Visualization Tool estende a interface gráfica para tratar
da necessidade de testar assim como possibilitar ao usuário que siga o processo de migração
automatizada. Depois que o código PL/SQL foi convertido, esta ferramenta permite que
usuário pesquise facilmente o código e encontre as estruturas de código correspondentes.
Basta clicar no componente colorido em uma janela e para se ver o componente
correspondente convertido na segunda janela. A tomada de tela a seguir mostra como esta
correspondência é apresentada usando faixas codificadas por cores.
Depois que alguns objetos são convertidos, o espaço de trabalho pode ser sincronizado tanto
com o banco de dados de origem como com o de destino. A sincronização pode ser
configurada com as seguintes:
 Sempre sobrescrever objetos do banco de dados com objetos do espaço de trabalho
local.
 Sempre sobrescrever objetos do espaço de trabalho local com objetos do banco de
dados.
 Mesclar automaticamente os objetos com base na última data de alteração.
Microsoft SQL Server Migration Assistant
12
Conclusão
O SQL Server Migration Assistant permite que os clientes migrem suas aplicações a partir de
bancos de dados diferentes para o SQL Server de uma maneira fácil e previsível. O Microsoft
SQL Server Migration Assistant automatiza quase todos os aspectos da migração de bancos
de dados. Como resultado, o tempo, custo e riscos associados com a migração para SQL
Server são drasticamente reduzidos. Com o SQL Server Migration Assistant os clientes não
precisam mais de ficar restritos a um banco de dados caro.
Este é um documento preliminar e pode ser alterado substancialmente antes do lançamento comercial definitivo do software aqui
descrito.
As informações contidas neste documento representam a visão atual da Microsoft Corporation sobre os assuntos discutidos na data de
sua publicação. Como a Microsoft deve reagir a condições variáveis de mercado, não devem ser interpretadas como um compromisso
da parte da Microsoft e a Microsoft não pode garantir a precisão de qualquer informação apresentada depois da data da publicação.
Este relatório é para propósitos de informação apenas. A MICROSOFT NÃO DÁ GARANTIAS, EXPRESSAS, IMPLÍCITAS OU
ESTATUTÁRIAS, QUANTO ÀS INFORMAÇÕES NESTE DOCUMENTO.
É responsabilidade do usuário acatar a todas as leis aplicáveis de direitos autorais. Sem limitar os direitos sob o direito autoral,
nenhuma parte deste documento pode ser reproduzida, armazenada ou introduzida em sistema de memória, ou transmitida em
qualquer forma ou por qualquer meio (eletrônico, mecânico, fotocópia, gravação ou outra maneira), ou, para qualquer fim, sem a
permissão expressa por escrito da Microsoft Corporation.
A Microsoft pode possuir patentes, pedidos de patentes, marcas registradas, direitos autorais ou outros direitos de propriedade
intelectual cobrindo o assunto deste documento. Exceto quanto expressamente estipulado em qualquer contrato de licença da
Microsoft, o fornecimento deste documento não proporciona nenhuma licença daquelas patentes, marcas registradas, direitos autorais
ou outras propriedades intelectuais.
© 2001 Microsoft Corporation. Todos os direitos reservados.
Microsoft, Windows, a logomarca Windows, Windows Server System, Visual Studio, SQL Server, e SQL Server Migration Assistant,
são marcas registradas ou marcas comerciais da Microsoft Corporation nos United States e/ou outros países.
Os nomes de empresas e produtos reais aqui mencionados podem ser marcas registradas de seus respectivos proprietários.
Microsoft SQL Server Migration Assistant
13
Download