使用CDC捕获SQLSERVER数据变更
近期根据公司规划,需要将以前SQLSERVER数据库部分表中数据增量取到ORACLE数据库中,决定使用sqlserver2008中新增的CDC(变更数据捕获)功能来实现。具体操作步
近期根据公司规划,需要将以前SQLSERVER数据库部分表中数据增量取到ORACLE数据库中,决定使用sqlserver2008中新增的CDC(变更数据捕获)功能来实现。
具体操作步骤如下:
1. 查看指定数据库有没有启用CDC功能
SELECT is_cdc_enabled FROM sys.databases WHERE name = 'jointown'
2. 在数据库级启用CDC功能
EXEC sys.sp_cdc_enable_db
3. 创建一个测试表
create table t1 (id int,name varchar(20));
4. 在测试表上启用CDC
EXEC sys.sp_cdc_enable_table
@source_schema = 'dbo',
@source_name = 't1',
@role_name = NULL,
@capture_instance = NULL,
@supports_net_changes = 1,
@index_name = NULL,
@captured_column_list = NULL,
@filegroup_name = default
执行时报错,美国服务器,需要在表中设置主键或唯一键
再次启用成功:
5. 提醒:若要CDC能正常工作,虚拟主机,除了以上配置外,需要开启agent服务!
6. 检查指定表上CDC是否已经启用
SELECT is_tracked_by_cdc FROM sys.tables WHERE name = 't1' and schema_id = SCHEMA_ID('dbo')
7. 此时查看变更数据捕获表,根据之前建的表t1,对应的存放变更数据的表为cdc.dbo_t1_ct,表中暂无任何数据
8. 在t1表中分别插入与更改一条数据后再查看
insert into t1 values (1,'a');
select * from cdc.dbo_t1_ct
在跟踪表中可以看到源表数据插入已被捕获,相比原表而言,网站空间,cdc表中新增了五列,一般我们额外需要关注的主要是__$start_lsn与__$operation 这两列,前一列存放此操作对应的数据库lsn号,后一列存放当前操作类型,以下为__$operation列对应操作类型:
1=delete,
2=insert,
3=update(旧值),
4=update(新值)。
通过以上操作可以看到,配置CDC过程本身来说是比较简单的,可以很方便的在对应的CDC表中跟踪到原表所做的数据操作,有了这些跟踪的数据后相应的开发人员就可以很方便的将sqlserver中源库和表中的数据捕获后同步到对应的其它库中,相比原来2005的触发器的方式,在效率和方便性上有了极大的提高。
本文出自 “天知道的技术博客” 博客,请务必保留此出处

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











La numérisation complète de la table peut être plus rapide dans MySQL que l'utilisation d'index. Les cas spécifiques comprennent: 1) le volume de données est petit; 2) Lorsque la requête renvoie une grande quantité de données; 3) Lorsque la colonne d'index n'est pas très sélective; 4) Lorsque la requête complexe. En analysant les plans de requête, en optimisant les index, en évitant le sur-index et en maintenant régulièrement des tables, vous pouvez faire les meilleurs choix dans les applications pratiques.

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Le rôle principal de MySQL dans les applications Web est de stocker et de gérer les données. 1.MySQL traite efficacement les informations utilisateur, les catalogues de produits, les enregistrements de transaction et autres données. 2. Grâce à SQL Query, les développeurs peuvent extraire des informations de la base de données pour générer du contenu dynamique. 3.MySQL fonctionne basé sur le modèle client-serveur pour assurer une vitesse de requête acceptable.

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

INNODB utilise des redologues et des undologs pour assurer la cohérence et la fiabilité des données. 1. REDOLOGIE RÉCLABLIER MODIFICATION DE PAGE DES DONNÉES Pour assurer la récupération des accidents et la persistance des transactions. 2.Undologs Enregistre la valeur des données d'origine et prend en charge le Rollback de la transaction et MVCC.

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.
