Esta página contém informações sobre:
- O comportamento de como o Datastream lida com dados que estão sendo extraídos de um banco de dados SQL Server de origem.
- As versões de bancos de dados do SQL Server com suporte do Datastream.
- Limitações conhecidas para o uso do banco de dados SQL Server como fonte.
Comportamento
O Datastream rastreia mudanças na linguagem de manipulação de dados (DML) usando um destes métodos de CDC:
Alterar tabelas
O método de CDC de tabelas de mudança permite que os usuários mantenham registros por um período mais curto e, assim, economizem espaço de armazenamento, mas oferece suporte a uma taxa de transferência menor em comparação com o método de registros de transações. O método tem menos limitações do que os registros de transações. Por exemplo, ele elimina o risco de truncamento de registro que leva a falhas permanentes nos streams e oferece suporte à replicação de tabelas criptografadas. Saiba mais em Limitações conhecidas.
Ao usar esse método de CDC, as mudanças na origem são rastreadas usando tabelas de mudança dedicadas. Os registros de transações ainda são usados, mas de forma limitada, e você não precisa mantê-los por períodos mais longos. À medida que os eventos DML são aplicados às tabelas de origem, as mudanças são replicadas nas tabelas de mudança correspondentes. As tabelas de mudança têm a mesma estrutura das tabelas de origem, mas com colunas extras para incluir os metadados das mudanças. Somente transações confirmadas são adicionadas às tabelas de mudança, junto com o número de sequência do registro (LSN, na sigla em inglês) da operação de confirmação.
Registros de transações
Ao usar esse método de CDC, o Datastream lê as mudanças na origem diretamente dos registros de transação. Esse método exige menos recursos e permite a recuperação de dados mais rápida, mas tem mais limitações.
Para evitar a perda de dados, é importante que os registros não sejam truncados antes de serem lidos pelo Datastream. Por outro lado, se você mantiver os arquivos de registro por muito tempo, eles ocuparão espaço de armazenamento, o que pode fazer com que a instância do banco de dados entre no modo somente leitura.
Para garantir que o leitor do CDC tenha tempo suficiente para ler os registros, permitindo que o truncamento de registro libere espaço de armazenamento, é necessário aplicar outras etapas de configuração, como alterar intervalos de pesquisa e configurar uma proteção de truncamento. Essas etapas oferecem uma camada adicional de proteção para garantir que o Datastream possa ler os dados mesmo que haja tempo de inatividade no Datastream ou um problema de conectividade entre o banco de dados de origem e o Datastream.
Para instruções detalhadas sobre como aplicar essas medidas adicionais, consulte a página Configurar um banco de dados de origem do SQL Server e selecione o tipo de banco de dados.
Versões
O Datastream é compatível com as seguintes versões e edições de bancos de dados do SQL Server:
- Autogerenciado (local ou hospedado na nuvem) usando as seguintes versões:
- Enterprise: 2008 e versões mais recentes
- Padrão: 2016 SP1 e versões mais recentes
- Desenvolvedor: 2008 e mais recente
- Amazon RDS para SQL Server
Banco de Dados SQL do Azure (nível S3 e superior).
Cloud SQL para SQL Server
O Datastream não é compatível com as seguintes versões do SQL Server:
- SQL Server Standard Edition da versão 2008 à 2014
- SQL Server Express
- SQL Server Web
Limitações conhecidas
Limitações conhecidas para o uso do banco de dados SQL Server como fonte incluem:
- Os streams são limitados a 10.000 tabelas.
- Uma tabela com mais de 500 milhões de linhas não pode ser preenchida, a menos que as
seguintes condições sejam atendidas:
- A tabela tem um índice exclusivo.
- Nenhuma das colunas de índice é anulável.
- Todas as colunas do índice são incluídas no fluxo.
- Não é possível usar bancos de dados com durabilidade atrasada ou recuperação de banco de dados acelerada (ADR, na sigla em inglês) ativada.
- Não é possível fazer streaming de mudanças nas tabelas do sistema.
- Não há suporte para a autenticação do Windows Active Directory (AD).
- Os seguintes tipos de dados não são compatíveis e não são replicados para o destino:
SQL_VARIANT
HIERARCHYID
GEOMETRY
GEOGRAPHY
- O Datastream replica tipos de dados definidos pelo usuário, mas é o tipo de dados
base de onde você deriva o tipo definido pelo usuário que é armazenado no
destino. Por exemplo, se você definir um tipo de dados
USERNAME
com base no tipoVARCHAR(50)
, os dados serão armazenados no destino comoVARCHAR(50)
. O Datastream não oferece suporte à CDC para colunas de objetos grandes (
TEXT
,NTEXT
,XML
,IMAGE
) e colunas de comprimento variável máximo (VARCHAR(MAX)
,VARBINARY(MAX)
,NVARCHAR(MAX)
) em tabelas sem um índice único.Se as colunas de objetos grandes não estiverem incluídas no fluxo, a CDC será compatível.
O Datastream não oferece suporte à replicação de mudanças de esquema de origem ao usar o método CDC de alteração de tabelas. As seguintes alterações de esquema podem causar corrupção de dados ou falha no processamento de eventos:
- Adição de colunas: as novas colunas não são replicadas para o destino.
- Colunas descartadas: os dados nessas colunas são substituídos por valores
NULL
. - Modificação de tipos de dados: o Datastream tenta inserir os dados no destino e gera um erro se os dados forem rejeitados.
- Renomeação de colunas: não é possível renomear colunas no SQL Server quando o CDC está ativado.
O Datastream não oferece suporte ao mascaramento de dados. Os dados são replicados sem mascaramento.
O Datastream não oferece suporte à replicação de mudanças aplicadas ao banco de dados usando o pacote de aplicativo de camada de dados (DACPAC).
O Datastream não replica as mudanças feitas usando as instruções
WRITETEXT
ouUPDATETEXT
.O Datastream não oferece suporte à replicação de colunas calculadas, a menos que a coluna esteja marcada como
PERSISTED
.O Datastream não oferece suporte aos tipos de compactação
PAGE
,COLUMNSTORE
ouCOLUMNSTORE ARCHIVE
.
Outras limitações ao usar o método de registros de transação
Se você usar o método CDC de registros de transação, as seguintes limitações adicionais serão aplicadas:
- Não há suporte para a Criptografia transparente de dados (TDE).
- Não é possível usar a criptografia no nível da coluna. Os dados nessas colunas são substituídos por valores
NULL
. - O Datastream não é compatível com a instrução
ROLLBACK TO SAVEPOINT
. Esses eventos de reversão são ignorados e não são replicados para o destino. - O Datastream não oferece suporte à CDC para linhas maiores que 8 KB nos
seguintes tipos de tabelas:
- Tabelas sem um índice exclusivo
- Tabelas que contêm apenas um índice exclusivo e não agrupado com uma ou mais
colunas de comprimento variável (
VARCHAR
,VARBINARY
,NVARCHAR
).
O Datastream não oferece suporte à CDC para colunas de objetos grandes (
TEXT
,NTEXT
,XML
,IMAGE
) nos seguintes tipos de tabelas:- Tabelas sem um índice exclusivo
- Tabelas que contêm apenas um índice exclusivo e não agrupado com uma ou mais
colunas de comprimento variável (
VARCHAR
,VARBINARY
,NVARCHAR
).
Se as colunas de objetos grandes não forem incluídas no fluxo, a CDC só será compatível com essas tabelas se elas tiverem índices válidos.
A seguir
- Saiba como configurar uma origem do SQL Server para uso com o Datastream.