Base de données SQL Server source

Cette page contient des informations sur les éléments suivants:

  • Comportement de Datastream concernant les données extraites d'une base de données SQL Server source.
  • Versions de bases de données SQL Server compatibles avec Datastream
  • Limites connues liées à l'utilisation de la base de données SQL Server en tant que source

Comportement

Datastream suit les modifications du langage de manipulation de données (LMD) à l'aide de l'une des méthodes CDC suivantes:

Modifier les tables

La méthode CDC des tables de modifications permet aux utilisateurs de conserver les journaux pendant une durée plus courte, ce qui permet d'économiser de l'espace de stockage, mais elle est moins efficace que la méthode des journaux de transactions. Cette méthode présente moins de limites que les journaux de transactions. Par exemple, il élimine le risque de troncation des journaux entraînant un échec permanent des flux et prend en charge la réplication des tables chiffrées. Pour en savoir plus, consultez la section Limites connues.

Lorsque vous utilisez cette méthode de CDC, les modifications apportées à la source sont suivies à l'aide de tables de modifications dédiées. Les journaux de transactions sont toujours utilisés, mais dans une mesure limitée, et vous n'avez pas besoin de les conserver pendant de longues périodes. Lorsque les événements DML sont appliqués aux tables sources, les modifications sont répliquées dans les tables de modifications correspondantes. Les tables de modifications ont la même structure que les tables sources, mais avec des colonnes supplémentaires pour inclure les métadonnées des modifications. Seules les transactions validées sont ajoutées aux tables de modifications, ainsi que le numéro séquentiel dans le journal (LSN) de l'opération de validation.

Journaux de transactions

Lorsque vous utilisez cette méthode CDC, Datastream lit les modifications dans la source directement à partir des journaux de transaction. Cette méthode nécessite moins de ressources et permet une récupération de données plus rapide, mais présente plus de limites.

Pour éviter toute perte de données, il est important que les journaux ne soient pas tronqués avant que Datastream ne les lise. D'un autre côté, si vous conservez les fichiers journaux trop longtemps, ils occupent de l'espace de stockage, ce qui peut éventuellement entraîner le passage de l'instance de base de données en mode lecture seule.

Pour vous assurer que le lecteur CDC a suffisamment de temps pour lire les journaux tout en permettant la troncation des journaux afin de libérer de l'espace de stockage, vous devez appliquer des étapes de configuration supplémentaires, telles que la modification des intervalles d'interrogation et la configuration d'une protection contre la troncation. Ces étapes fournissent une couche de protection supplémentaire pour s'assurer que Datastream peut lire les données, même en cas d'indisponibilité du côté de Datastream ou de problème de connectivité entre la base de données source et Datastream.

Pour obtenir des instructions détaillées sur l'application de ces mesures supplémentaires, consultez la page Configurer une base de données SQL Server source et sélectionnez votre type de base de données.

Versions

Datastream est compatible avec les versions et éditions suivantes des bases de données SQL Server:

  • Autogéré (sur site ou hébergé dans le cloud) avec les versions suivantes :
    • Enterprise: 2008 et versions ultérieures
    • Standard: 2016 SP1 et versions ultérieures
    • Développeur: 2008 et versions ultérieures
  • Amazon RDS pour SQL Server
  • Azure SQL Database (niveau S3 et supérieur)

  • Cloud SQL pour SQL Server

Datastream n'est pas compatible avec les versions suivantes de bases de données SQL Server:

  • SQL Server Standard Edition de la version 2008 à la version 2014
  • SQL Server Express
  • SQL Server Web

Limitations connues

Les limites connues d'utilisation de la base de données SQL Server en tant que source incluent les suivantes:

  • Les flux sont limités à 10 000 tables.
  • Une table contenant plus de 500 millions de lignes ne peut pas être remplie, sauf si les conditions suivantes sont remplies :
    1. La table possède un index unique.
    2. Aucune des colonnes d'index ne peut être laissée vide.
    3. Toutes les colonnes de l'index sont incluses dans le flux.
  • Les bases de données avec durabilité retardée ou récupération de la base de données accélérée (ADR) activée ne sont pas compatibles.
  • Il n'est pas possible de diffuser des modifications apportées aux tables système.
  • L'authentification Windows Active Directory (AD) n'est pas prise en charge.
  • Les types de données suivants ne sont pas acceptés et ne sont pas répliqués dans la destination :
    • SQL_VARIANT
    • HIERARCHYID
    • GEOMETRY
    • GEOGRAPHY
  • Datastream réplique les types de données définis par l'utilisateur. Toutefois, c'est le type de données de base à partir duquel vous dérivez votre type défini par l'utilisateur qui est stocké dans la destination. Par exemple, si vous définissez un type de données USERNAME basé sur le type de données VARCHAR(50), les données sont stockées dans la destination sous la forme VARCHAR(50).
  • Datastream n'est pas compatible avec la capture des données modifiées (CDC) pour les colonnes d'objets volumineux (TEXT, NTEXT, XML, IMAGE) et les colonnes à longueur variable maximale (VARCHAR(MAX), VARBINARY(MAX), NVARCHAR(MAX)) dans les tables sans indice unique.

    Si les colonnes d'objets de grande taille ne sont pas incluses dans le flux, la capture des données modifiées est prise en charge.

  • Datastream ne permet pas de répliquer les modifications de schéma source lorsque vous utilisez la méthode CDC des tables de modifications. Les modifications de schéma suivantes peuvent entraîner une corruption des données ou l'échec du traitement des événements:

    • Ajout de colonnes: les nouvelles colonnes ne sont pas répliquées dans la destination.
    • Suppression de colonnes: les données de ces colonnes sont remplacées par des valeurs NULL.
    • Modification des types de données: Datastream tente d'insérer les données à la destination et génère une erreur si les données sont rejetées.
    • Renommer des colonnes: non compatible avec SQL Server lorsque la CDC est activée.
  • Datastream n'est pas compatible avec le masquage des données. Les données sont répliquées sans masquage.

  • Datastream n'est pas compatible avec la réplication des modifications appliquées à la base de données à l'aide du package DACPAC (Data Tier Application Package).

  • Datastream ne réplique pas les modifications apportées à l'aide des instructions WRITETEXT ou UPDATETEXT.

  • Datastream ne permet pas de répliquer les colonnes calculées, sauf si la colonne est marquée PERSISTED.

  • Datastream n'accepte pas les types de compression PAGE, COLUMNSTORE ou COLUMNSTORE ARCHIVE.

Autres limites à prendre en compte lors de l'utilisation de la méthode des journaux de transactions

Si vous utilisez la méthode CDC des journaux de transactions, les limitations supplémentaires suivantes s'appliquent:

  • Le chiffrement transparent des données (TDE) n'est pas compatible.
  • Le chiffrement au niveau des colonnes n'est pas compatible. Les données de ces colonnes sont remplacées par des valeurs NULL.
  • Datastream n'est pas compatible avec l'instruction ROLLBACK TO SAVEPOINT. Ces événements de rollback sont ignorés et ne sont pas répliqués dans la destination.
  • Datastream n'est pas compatible avec la capture des données modifiées (CDC) pour les lignes de plus de 8 Ko dans les types de tables suivants :
    • Tables sans index unique
    • Tables ne contenant qu'un seul indice unique non clusté avec une ou plusieurs colonnes à longueur variable (VARCHAR, VARBINARY, NVARCHAR)
  • Datastream n'est pas compatible avec la capture des données modifiées (CDC) pour les colonnes d'objets volumineux (TEXT, NTEXT, XML, IMAGE) dans les types de tables suivants:

    • Tables sans index unique
    • Tables ne contenant qu'un seul indice unique non clusté avec une ou plusieurs colonnes à longueur variable (VARCHAR, VARBINARY, NVARCHAR)

    Si les colonnes d'objets volumineux ne sont pas incluses dans le flux, la capture des données modifiées n'est prise en charge que pour ces tables si elles disposent d'index valides.

Étape suivante