Todos os produtos
Search
Central de documentação

AnalyticDB:Manually migrate data from Amazon Redshift to AnalyticDB for PostgreSQL

Última atualização: Jul 20, 2026

Migre dados do Amazon Redshift para o AnalyticDB for PostgreSQL utilizando o Alibaba Cloud Data Online Migration ou a ferramenta ossimport.

Pré-requisitos

  • Instância de origem do Amazon Redshift.

  • Bucket do Amazon S3 para exportação de dados da instância do Amazon Redshift.

  • Alibaba Cloud Object Storage Service (OSS) ativado. Para mais informações sobre o OSS, consulte {{XREF_0}}.

  • Bucket do OSS criado. Para mais informações, consulte {{XREF_1}}.

    Nota

    Recomendamos criar o bucket do OSS na mesma região da sua instância do AnalyticDB for PostgreSQL para simplificar a importação de dados no banco de dados.

  • Crie uma instância do AnalyticDB for PostgreSQL. Para informações sobre como selecionar especificações de instância, consulte {{XREF_2}}.

Seleção de especificações

Selecione as especificações da instância de destino do AnalyticDB for PostgreSQL com base nas especificações da instância de origem do Amazon Redshift.

Uma instância do Amazon Redshift consiste em um nó líder e vários nós de computação.

  • O nó líder equivale ao nó coordenador do AnalyticDB for PostgreSQL. Ele se comunica com clientes, analisa consultas, elabora planos de execução e distribui tarefas para os nós de computação.

  • Nó de computação: Equivale a um nó Segment no AnalyticDB for PostgreSQL e consiste em várias fatias de nó. Cada fatia de nó corresponde a um único nó Segment no AnalyticDB for PostgreSQL, sendo responsável pelo armazenamento de dados e pela computação de consultas.

Para determinar as especificações adequadas dos nós do AnalyticDB for PostgreSQL, faça a correspondência com as especificações de cada fatia de nó na instância de origem do Amazon Redshift.

Exemplo

A instância de origem do Amazon Redshift contém quatro nós de computação, e cada nó possui duas fatias. Cada fatia tem 2 núcleos, 16 GB de memória e 1 TB de armazenamento.

Com base nessas especificações, selecione oito nós segment ao criar a instância do AnalyticDB for PostgreSQL. Para cada nó segment, escolha a especificação de 2 núcleos e 16 GB e defina a capacidade de armazenamento como 1.000 GB.

Nota
  • Para mais informações sobre como criar uma instância do AnalyticDB for PostgreSQL, consulte {{XREF_4}}.

  • Recomendamos selecionar ESSD como tipo de disco de armazenamento. Um ESSD oferece melhor desempenho de I/O do que um Ultra Disk.

Procedimento

Etapa 1: Exportar dados do Amazon Redshift

Utilize o comando UNLOAD para exportar os dados. Para mais informações, consulte a documentação do UNLOAD.

A sintaxe do comando UNLOAD é a seguinte:

UNLOAD ('select-statement')
TO 's3://object-path/name-prefix'
AUTHORIZATION
[ option [ ... ] ]

WHERE option IS
{ [ FORMAT [ AS ] ] CSV | PARQUET
| PARTITION BY ( column_name [, ... ] ) [ INCLUDE ]
| MANIFEST [ VERBOSE ] 
| HEADER           
| DELIMITER [ AS ] 'delimiter-char' 
| FIXEDWIDTH [ AS ] 'fixedwidth-spec'   
| ENCRYPTED [ AUTO ]
| BZIP2  
| GZIP 
| ZSTD
| ADDQUOTES 
| NULL [ AS ] 'null-string'
| ESCAPE
| ALLOWOVERWRITE
| CLEANPATH
| PARALLEL [ { ON | TRUE } | { OFF | FALSE } ]
| MAXFILESIZE [AS] max-size [ MB | GB ] 
| REGION [AS] 'Amazon-region' }
Nota
  • Ao exportar dados, recomenda-se usar o formato FORMAT AS PARQUET ou CSV.

  • Para aumentar a eficiência da exportação e gerar mais fragmentos de arquivo, ative a exportação paralela usando PARALLEL ON.

  • Use o parâmetro MAXFILESIZE para gerar múltiplos segmentos de arquivo. Defina o número de segmentos como um múltiplo inteiro do número de nós na sua instância do AnalyticDB for PostgreSQL para melhorar a eficiência da importação paralela via tabela externa do OSS.

Etapa 2: Sincronizar dados para o Alibaba Cloud OSS

Sincronize os dados utilizando um dos dois métodos: Data Online Migration ou a ferramenta ossimport.

Data Online Migration

  1. Faça login no console do Alibaba Cloud Data Transport.

  2. Crie um endereço de dados de origem e um endereço de dados de destino para a sincronização.

    1. No painel de navegação à esquerda, escolha Data Online Migration > Data Addresses.

    2. Clique em Create Data Address para criar um endereço de origem.

    3. No painel Create Data Address, configure os seguintes parâmetros e clique em OK.

      Parâmetro

      Obrigatório

      Descrição

      Name

      Sim

      • O nome deve ter entre 3 e 63 caracteres.

      • O nome pode conter letras minúsculas, dígitos, hifens (-) e sublinhados (_). O nome diferencia maiúsculas de minúsculas.

      • O nome não pode começar com hífen (-) ou sublinhado (_).

      Type

      Sim

      Selecione AWS S3.

      Domain name

      Sim

      Insira o endpoint do serviço AWS S3. Os endpoints estão listados em Amazon S3 endpoints.

      AccessKeyId

      Sim

      Insira a chave de acesso do usuário IAM. Esta chave autentica o acesso de leitura aos dados de origem.

      SecretAccessKey

      Sim

      Bucket

      Sim

      Insira o nome do bucket de origem do AWS S3.

      Nota

      O nome do bucket não pode começar ou terminar com espaços, quebras de linha ou tabulações.

      Prefix

      Não

      Especifique um prefixo para migrar um subconjunto dos dados.

      • Se especificado, apenas os dados sob esse prefixo serão migrados. O prefixo não deve começar com barra (/), mas deve terminar com uma.

      • Se você omitir este parâmetro, todos os dados do bucket serão migrados.

      Tunnel

      Não

      Selecione o nome do canal a ser usado.

      Importante
      • Este parâmetro é necessário apenas ao migrar dados por meio de uma conexão Express Connect ou VPN, ou ao migrar dados de um sistema de armazenamento autogerenciado.

      • É obrigatório associar um agente se o destino for um sistema de arquivos local ou se a migração utilizar uma conexão dedicada, por exemplo, para um ambiente de cloud financeira ou Apsara Stack.

      Agent

      Não

      Selecione o nome do agente a ser usado.

      Importante
      • Este parâmetro é necessário apenas ao migrar dados por meio de uma conexão Express Connect ou VPN, ou ao migrar dados de um sistema de armazenamento autogerenciado.

      • É possível selecionar no máximo 200 agentes para um canal especificado.

    4. Clique em Create Data Address novamente para criar um endereço de destino.

    5. No painel Create Data Address, configure os seguintes parâmetros e clique em OK.

      Parâmetro

      Obrigatório

      Descrição

      Data Type

      Sim

      Tipo do endereço de dados de destino. Selecione OSS.

      Data Name

      Sim

      Nome do endereço de dados de origem. Deve ter entre 3 e 63 caracteres e não pode conter caracteres especiais, exceto hifens (-) e sublinhados (_).

      Data Region

      Sim

      Região onde reside o endereço de dados de destino.

      Enable Transfer Acceleration

      Não

      Se desejar usar o Data Online Migration junto com o recurso de aceleração de transferência do Object Storage Service (OSS), ative a aceleração de transferência para os buckets. Esse recurso entra em vigor 30 minutos após a ativação. Após ativá-lo, aguarde 30 minutos antes de criar uma tarefa de migração.

      Importante

      Ao utilizar o recurso de aceleração de transferência para acessar seus buckets do OSS, taxas adicionais de aceleração de transferência são cobradas. Para mais informações, consulte {{XREF_5}}.

      OSS Endpoint

      Sim

      Endpoint do endereço de dados de destino. Selecione um endpoint com base na região onde o endereço de destino reside. Para mais informações, consulte {{XREF_6}}.

      Nota

      Ao migrar dados de serviços de cloud de terceiros para o OSS, é necessário acessar o OSS através de um endpoint público pela Internet.

      Access Key Id and Access Key Secret

      Sim

      Par de AccessKey do usuário RAM utilizado para gravar dados no endereço de destino. O OSS usa esse par para verificar se o usuário RAM tem permissões de gravação no endereço de dados de destino.

      OSS Bucket

      Sim

      Bucket do OSS para o qual os dados serão migrados.

      OSS Prefix

      Não

      Prefixo do endereço de dados de destino.

      • Se você especificar um prefixo, os dados de origem serão migrados para o diretório especificado. O valor não pode começar com barra (/) e deve terminar com uma barra (/). Exemplo: data/to/oss/.

      • Se nenhum prefixo for especificado, os dados de origem serão migrados para o diretório raiz do bucket de destino.

      Importante

      Se o nome de um arquivo de origem começar com barra (/), será obrigatório especificar um prefixo do OSS ao definir o endereço de dados de destino. Caso contrário, a tarefa de migração falhará. Por exemplo, se o nome do arquivo a ser migrado for /test/test.png, você deverá especificar um prefixo como oss/. Após a conclusão da migração, o nome do arquivo mudará de /test/test.png para oss//test/test.png.

  3. Crie uma tarefa de migração online.

    1. No painel de navegação à esquerda, escolha Data Online Migration > Data Migration Tasks.

    2. Clique em Create Data Migration Task.

    3. No painel Create Data Migration Task, leia os termos de serviço, selecione I understand the preceding terms and want to activate Data Transport e clique em Next.

    4. Na caixa de diálogo Charges, clique em Create.

    5. Na aba Configure Task, configure os seguintes parâmetros e clique em Next.

      Parâmetro

      Obrigatório

      Descrição

      Job Name

      Sim

      Nome do endereço de dados de origem. Deve ter entre 3 e 63 caracteres e não pode conter caracteres especiais, exceto hifens (-) e sublinhados (_).

      Source Data Address

      Sim

      Endereço de dados de origem criado anteriormente.

      Destination Data Address

      Sim

      Endereço de dados de destino criado anteriormente.

      Specified Directory

      Não

      Diretórios nos quais os arquivos e subdiretórios serão migrados ou não. Valores válidos:

      • Do not filter: migra todos os dados do endereço de origem.

      • Exclude: não migra os arquivos ou subdiretórios nos diretórios especificados.

        Por exemplo, para migrar todos os diretórios dentro de root_dir/, exceto root_dir/bad_sub1/ e root_dir/bad_sub2/, selecione esta opção e especifique bad_sub1/ e bad_sub2/.

      • Contain: migra apenas os arquivos e subdiretórios nos diretórios especificados.

        Por exemplo, para migrar apenas root_dir/good_sub1/ e root_dir/good_sub2/ dentro de root_dir/, selecione esta opção e especifique good_sub1/ e good_sub2/.

      Nota
      • Um nome de diretório pode conter apenas dígitos e letras. O uso de caracteres especiais pode causar falha na tarefa de migração.

      • Um nome de diretório não pode começar com barra (/) ou barra invertida (\), nem conter barras duplas (//), pontos duplos (..) ou aspas duplas ("). A string composta por todos os nomes de diretórios especificados não pode exceder 10 KB.

      • Um nome de diretório deve terminar com barra (/). Por exemplo, você pode especificar docs/ como nome do diretório.

      • É possível especificar até 20 diretórios do tipo Exclude ou Contain.

      Migration Type

      Sim

      Modo de migração de dados. Valores válidos:

      • Full: O sistema migra todos os dados do endereço de origem para o destino. É necessário configurar o parâmetro Start Time Point of File. O sistema migra todos os dados cuja última modificação seja posterior ao horário especificado. Após a migração completa, a tarefa é encerrada.

        Se houver alterações nos dados de origem após a conclusão da tarefa, envie outra tarefa para migrar todos os dados. Nesse caso, o sistema migrará apenas os dados alterados.

      • Incremental: O sistema executa tarefas de migração com base nos valores definidos para Migration Interval e Migration Times.

        • Configure o parâmetro Start Time Point of File. Na primeira migração, o sistema transfere todos os dados modificados após o horário especificado. Concluída a primeira etapa, a migração incremental ocorre conforme o intervalo definido em Migration Interval. Em cada ciclo incremental, apenas os dados criados ou modificados entre o início da migração anterior e o início da atual são transferidos.

        • Se o parâmetro Migration Times for definido como N, uma migração completa será executada uma vez, seguida de (N - 1) migrações incrementais.

          Por exemplo, se a hora atual for 08:00 de 10 de março de 2019, e você definir Migration Interval como 1, Migration Times como 5 e Start Time Point of File como 08:00 de 5 de março de 2019: na primeira execução, o sistema migra todos os arquivos modificados entre 08:00 de 5 de março e 08:00 de 10 de março. Supondo que essa etapa leve uma hora, a segunda migração começará às 10:00 de 10 de março (uma hora de processo + uma hora de intervalo). A segunda migração transferirá arquivos modificados entre 08:00 e 10:00 de 10 de março. A tarefa total consistirá em uma migração completa e quatro incrementais.

      Importante

      Antes do início da migração completa ou incremental, o sistema compara os arquivos de origem e destino. Se houver arquivos com o mesmo nome, o arquivo de destino será sobrescrito quando uma das seguintes condições for atendida:

      • Os valores de Content-Type dos arquivos de origem e destino são diferentes.

      • A última modificação do arquivo de origem é mais recente que a do arquivo de destino.

      • O tamanho do arquivo de origem difere do tamanho do arquivo de destino.

      Start Time Point of File

      Sim

      Horário para filtrar os dados a serem migrados. O sistema migra dados criados ou modificados após esse momento. Valores válidos:

      • All: migra todos os arquivos.

      • Assign: migra apenas arquivos criados ou modificados após o horário especificado.

        Por exemplo, se definido como 08:00:00 de 1º de novembro de 2018, apenas arquivos criados ou modificados após esse momento serão migrados.

      Migration Interval

      Parâmetro obrigatório se Migration Type for definido como Incremental.

      Valor padrão: 1. Valor máximo: 24. Unidade: horas.

      Migration Times

      Parâmetro obrigatório se Migration Type for definido como Incremental.

      Valor padrão: 1. Valor máximo: 30.

      File Overwrite Method

      Sim

      Método usado para processar arquivos de origem com o mesmo nome de arquivos no destino. Valores válidos:

      • LastModified: Se houver coincidência de nomes, o sistema compara a propriedade LastModified dos arquivos.

        • Se a modificação do arquivo de origem for mais recente que a do destino, o arquivo de origem será migrado e sobrescreverá o de destino.

        • Se a modificação do arquivo de origem for anterior à do destino, o arquivo de origem não será migrado e o de destino será mantido.

        • Se ambos tiverem a mesma data de modificação, o sistema verifica as propriedades Size e Content-Type.

          Se Size e Content-Type forem idênticos, o arquivo de origem não será migrado. Se houver diferença em pelo menos uma dessas propriedades, o arquivo de origem será migrado e sobrescreverá o de destino.

      • Condition: Em caso de nomes iguais, o sistema compara LastModified, Size e Content-Type.

        • Se todas as propriedades forem idênticas, o arquivo de origem não será migrado.

        • Se houver diferença em qualquer propriedade, o arquivo de origem será migrado e sobrescreverá o de destino.

      • All: Se houver coincidência de nomes, o sistema não faz comparações e sobrescreve diretamente o arquivo de destino com o de origem.

      • No: Se houver coincidência de nomes, o sistema não faz comparações e ignora o arquivo de origem na migração.

        Aviso
        • Ao selecionar Condition ou LastModified, arquivos mais antigos podem sobrescrever arquivos mais recentes.

        • Ao selecionar Condition ou LastModified, certifique-se de que os arquivos de origem possuam valores válidos para LastModified, Size e Content-Type. Caso contrário, a política de sobrescrita pode falhar e os dados podem não ser migrados conforme esperado.

    6. Na aba Performance Tuning, na seção Data Estimation, insira o Size of Data to Be Migrated e o Number of Files to Be Migrated.

      Nota

      Para garantir uma migração tranquila, estime os dados com a maior precisão possível. Para mais informações, consulte {{XREF_7}}.

    7. Opcional: Na aba Performance Tuning, na seção Bandwidth Throttling, defina Time Range (Hour) e Max Bandwidth e clique em Add.

      Nota

      Para evitar impactos nos seus negócios online, recomendamos definir o Time Range (Hour) e a Max Bandwidth para migração com base nos horários de pico e fora de pico do seu negócio.

    8. Clique em Create e aguarde a conclusão da tarefa de migração.

ossimport

  1. Baixe e instale o ossimport no modo standalone. Para mais informações, consulte {{XREF_8}}.

    A estrutura de arquivos do ossimport no modo standalone é a seguinte:

    ossimport
    ├── bin
    │   └── ossimport2.jar  # A full JAR that includes Master, Worker, TaskTracker, and Console modules
    ├── conf
    │   ├── local_job.cfg   # Job configuration file
    │   └── sys.properties  # System runtime parameter configuration file
    ├── console.bat         # Windows command-line interface (CLI) for distributed task submission
    ├── console.sh          # Linux CLI for distributed task submission
    ├── import.bat          # One-click import on Windows. Runs the migration task configured in conf/local_job.cfg, including startup, migration, validation, and retries.
    ├── import.sh           # One-click import on Linux. Runs the migration task configured in conf/local_job.cfg, including startup, migration, validation, and retries.
    ├── logs                # Log directory
    └── README.md           # Documentation. We strongly recommend that you read this file *before use*.
  2. Configure o ossimport no modo standalone.

    Modifique os seguintes parâmetros no arquivo de configuração conf/local_job.cfg.

    srcType=s3
    srcAccessKey=<Amazon AccessKey ID>
    srcSecretKey=<Amazon AccessKey Secret>
    srcDomain=<Domain name of the Amazon S3 region>
    srcBucket=<Name of the Amazon S3 bucket>
    destAccessKey=<Alibaba Cloud AccessKey ID>
    destSecretKey=<Alibaba Cloud AccessKey Secret>
    destDomain=<Endpoint of the OSS region>
    destBucket=<Name of the OSS bucket>
    destPrefix=
    isSkipExistFile=true

    Para mais informações sobre a configuração do ossimport, consulte {{XREF_9}}.

  3. Execute o ossimport para sincronizar dados com o OSS. Para mais informações sobre o ossimport no modo standalone, consulte {{XREF_10}}.

Etapa 3: Criar tabelas de destino

Crie tabelas de destino na instância do AnalyticDB for PostgreSQL com a mesma estrutura das tabelas de origem do Amazon Redshift. Para a sintaxe de criação de tabelas, consulte {{XREF_11}}.

Se precisar modificar definições DDL para objetos como schemas, tabelas, funções e views, consulte {{XREF_12}}.

Etapa 4: Importar dados do OSS

Importe dados para o AnalyticDB for PostgreSQL usando o comando COPY ou uma tabela externa do OSS:

  • Para importar dados do OSS usando o comando COPY, consulte {{XREF_13}}.

  • Para importar dados do OSS usando uma tabela externa do OSS, consulte {{XREF_14}}.

Conversão de sintaxe DDL

A sintaxe DDL do Amazon Redshift difere da sintaxe do AnalyticDB for PostgreSQL. Converta as seguintes instruções DDL antes da migração.

Criar schema

Crie um schema com base na sintaxe do AnalyticDB for PostgreSQL. Veja um exemplo abaixo:

CREATE SCHEMA schema1 AUTHORIZATION xxxpoc;
GRANT ALL ON SCHEMA schema1 TO xxxpoc;
GRANT ALL ON SCHEMA schema1 TO public;
COMMENT ON SCHEMA model IS 'for xxx migration  poc test';

CREATE SCHEMA oss_external_table AUTHORIZATION xxxpoc;

Criar função

AnalyticDB for PostgreSQL não é compatível com algumas funções SQL do Amazon Redshift. Personalize ou reescreva essas funções. Por exemplo:

  • Substitua CONVERT_TIMEZONE(a,b,c) pela seguinte instrução:

    timezone(b, timezone(a,c))
  • Substitua GETDATE() pela seguinte instrução:

    current_timestamp(0)::timestamp
  • Substitua ou otimize uma função definida pelo usuário (UDF). Abaixo está um exemplo de função no Redshift:

    CREATE OR REPLACE FUNCTION public.f_jdate(dt timestamp WITHOUT time zone)
    RETURNS character varying AS
    '      from datetime import timedelta, datetime
           if dt.hour < 4:
                  d = timedelta(days=-1)
                  dt = dt + d
           return str(dt.date())'
    LANGUAGE plpythonu IMMUTABLE;
    COMMIT;

    Use a seguinte instrução para substituir a função acima:

    to_char(a - interval '4 hour', 'yyyy-mm-dd')
  • Outras funções padrão do Amazon Redshift.

    Consulte a documentação do PostgreSQL sobre Funções e Operadores para ajudar a modificar ou implementar funções incompatíveis entre o Amazon Redshift e o AnalyticDB for PostgreSQL. Exemplos de funções incompatíveis incluem:

Criar tabela

  • Modifique o nome da tabela

    O comprimento máximo de um nome de tabela no Amazon Redshift é de 127 bytes, enquanto no AnalyticDB for PostgreSQL o padrão é 63 bytes. Encurte quaisquer nomes de objetos (como tabelas, funções ou views) que excedam esse limite.

  • Modifique o algoritmo de compressão

    Remova ENCODE XXX da instrução CREATE TABLE do Amazon Redshift e substitua pela seguinte cláusula:

    WITH (COMPRESSTYPE={ZLIB|ZSTD|RLE_TYPE|NONE})

    Para informações sobre os algoritmos de compressão suportados pelo AnalyticDB for PostgreSQL, consulte {{XREF_15}}.

  • Modifique a chave de distribuição

    O Amazon Redshift suporta três estilos de distribuição. Modifique a chave de distribuição conforme as regras a seguir:

    • EVEN: substitua por DISTRIBUTED RANDOMLY.

    • KEY: substitua por DISTRIBUTED BY (column, [ ... ] ).

    • ALL: substitua por DISTRIBUTED REPLICATED.

  • Modifique a chave de ordenação

    Remova a opção COMPOUND ou INTERLEAVED da cláusula de chave de ordenação do Amazon Redshift [ COMPOUND | INTERLEAVED ] SORTKEY (column_name [, ...] ) ] e substitua pela seguinte cláusula:

    ORDER BY (column, [ ... ])

Veja alguns exemplos abaixo:

  • Exemplo 1

    Instrução CREATE TABLE no Amazon Redshift:

    CREATE TABLE schema1.table1
    (
        filed1 VARCHAR(100) ENCODE lzo,
        filed2 INTEGER DISTKEY,
        filed3 INTEGER,
        filed4 BIGINT ENCODE lzo,
        filed5 INTEGER
    )
    INTERLEAVED SORTKEY
    (
        filed1,
        filed2
    );

    Instrução CREATE TABLE convertida no AnalyticDB for PostgreSQL:

    CREATE TABLE schema1.table1
    (
        filed1 VARCHAR(100) ,
        filed2 INTEGER,
        filed3 INTEGER,
        filed4 BIGINT,
        filed5 INTEGER
    )
    WITH(APPENDONLY=true,ORIENTATION=column,COMPRESSTYPE=zstd)
    DISTRIBUTED BY (filed2)
    ORDER BY (filed1, filed2);
    
    -- Sort
    SORT schema1.table1;
    MULTISORT schema1.table1;
  • Exemplo 2

    Instrução CREATE TABLE no Amazon Redshift, incluindo as opções ENCODE e SORTKEY:

    CREATE TABLE schema2.table2
    (
        filed1 VARCHAR(50) ENCODE lzo,
        filed2 VARCHAR(50) ENCODE lzo,
        filed3 VARCHAR(20) ENCODE lzo,
    )
    DISTSTYLE EVEN
    INTERLEAVED SORTKEY
    (
        filed1
    );

    Instrução CREATE TABLE convertida no AnalyticDB for PostgreSQL:

    CREATE TABLE schema2.table2
    (
        filed1 VARCHAR(50),
        filed2 VARCHAR(50),
        filed3 VARCHAR(20)
    )
    WITH(APPENDONLY=true, ORIENTATION=column, COMPRESSTYPE=zstd)
    DISTRIBUTED randomly
    ORDER BY (filed1);
    
    -- Sort
    SORT schema2.table2;
    MULTISORT schema2.table2;
    Nota

    Para mais informações sobre chaves de ordenação, consulte {{XREF_16}}.

Criar view

Converta a instrução CREATE VIEW do Amazon Redshift em uma instrução SQL compatível com a sintaxe do AnalyticDB for PostgreSQL. As regras de conversão são semelhantes às do CREATE TABLE.

Nota

A cláusula WITH NO SCHEMA BINDING não é suportada.

Documentos relacionados

Para informações sobre migração automática, consulte {{XREF_17}}.