MatrixOrigin MatrixOrigin Docs
Product docs
MatrixOne Current product MatrixOne Intelligence
About Get Started Develop Tutorial Deploy Operations Migrate Test Performance Security Reference Troubleshooting FAQs Release Notes Glossary Contribute
/
Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
MatrixOne Docs
MatrixOne Docs
  • Home
  • Overview
    • MatrixOne Feature List
    • MatrixOne Feature
      • Git for Data
      • Multi-Account
      • Scalability
      • Cost-Effective
      • High Availability
      • Timing
      • Streams
      • User-defined functions
      • MySQL Compatibility
      • Feature Overview
    • MatrixOne Architecture Design
      • Transactional Analytical Engine Architecture
      • Detailed Logservice Architecture
      • Logtail Protocol Architecture
      • Transaction and Lock Mechanisms Architecture
      • Detailed Proxy Architecture
      • WAL Technology Explained
      • Detailed Caching and Hot-Cold Data Separation Architecture
      • Detailed Stream Engine Architecture
      • MatrixOne-Operator design and implementation
    • MatrixOne vs. other databases
      • MatrixOne vs. common OLTP databases
    • What's New
    • Getting Started
      • Deploy on macOS
        • Using binary package
        • Using Docker
      • Deploy on Linux
        • Using binary package
        • Using Docker
      • Basic SQL
    • Developing Guide
      • Java connect to MatrixOne
        • Connect MatrixOne with Java ORMs
      • Python connect to MatrixOne
      • C# connect to MatrixOne
      • Connecting to MatrixOne with Golang
      • MatrixOne SSL connection
      • Connecting to MatrixOne with TypeScript
      • Schema Design
        • Create Database
        • Create Table
        • Replication table
        • Create View
        • Create Temporary Table
        • Create Secondary Index
        • Vector
        • Data Integrity
          • NOT NULL Constraints
          • UNIQUE KEY Constraints
          • PRIMARY KEY Constraints
          • FOREIGN KEY Constraints
          • AUTO INCREMENT Constraints
      • Write Data
        • Bulk Load
          • Load csv format data
          • Load jsonlines format data
          • Load data from S3
          • Load data by using the `source`
        • Update Data
        • Delete Data
        • Prepared
      • Export Data
        • Export data by MODUMP
      • Read Data
        • Multi-table Join Queries
        • Subquery
        • Views
        • Common Table Expression
        • Window Function
          • Time Window
      • Data de-duplication
        • BITMAP
      • Account Design
        • Publish-Subscribe
      • Transactions
        • Transaction by MatrixOne Server
          • Explicit Transaction
          • Implicit Transaction
          • Pessimistic Transaction
          • Optimistic Transaction
          • Isolation Level
          • MVCC
          • User Guide
            • Scenario
          • Scenario
      • User-defined function
        • UDF python advanced
      • Vector
        • Vector Search
        • IVF Rank Options
        • Cluster Centers
      • Ecological Tools
        • Visualizing MatrixOne Reports with Yonghong BI
        • Visual Monitoring of MatrixOne with Superset
        • ETL Tools
          • Writing Data from MySQL to MatrixOne
          • Writing Data from Oracle to MatrixOne
          • Using DataX to write data to MatrixOne
            • Writing Data from MySQL to MatrixOne
            • Writing Data from Oracle to MatrixOne
            • Writing Data from PostgreSQL to MatrixOne
            • Writing Data from SQL Server to MatrixOne
            • Writing Data from MongoDB to MatrixOne
            • Writing Data from TiDB to MatrixOne
            • Writing Data from ClickHouse to MatrixOne
            • Writing Data from Doris to MatrixOne
            • Writing Data from InfluxDB to MatrixOne
            • Writing Data from Elasticsearch to MatrixOne
        • Computing Engine
          • Writing Data from MySQL to MatrixOne
          • Writing Data from Hive to MatrixOne
          • Writing Data from Doris to MatrixOne
          • Using Flink to Write Real-Time Data to MatrixOne
            • Writing Data from MySQL to MatrixOne
            • Writing Data from Oracle to MatrixOne
            • Writing Data from SQL Server to MatrixOne
            • Writing Data from PostgreSQL to MatrixOne
            • Writing Data from MongoDB to MatrixOne
            • Writing Data from TiDB to MatrixOne
            • Writing Data from Kafka to MatrixOne
        • Scheduling Tools
      • Develop Overview
      • AI Agent Tools
        • Query MatrixOne Documentation with AI Agent
    • Tutorial
      • SpringBoot and JPA CRUD demo
      • SpringBoot and MyBatis CRUD demo
      • PyMySQL CRUD demo
      • SQLAlchemy CRUD demo
      • Django CRUD demo
      • Golang CRUD demo
      • Gorm CRUD demo
      • C# CRUD demo
      • TypeScript Basic Example
      • HTAP Application demo
      • RAG Application demo
      • Safe Production Upgrade with Instant Rollback
      • Instant Clone for Multi-Team Development
      • Pinecone-Compatible Vector Search
      • IVF Index Health Monitoring
      • HNSW Vector Index
      • Hybrid Search (Vector + Fulltext + SQL)
      • Fulltext Natural Search
      • Fulltext Boolean Search
      • Fulltext JSON Search
      • Picture(Text)-to-Picture Search Application demo
      • Dify Platform Integration Guide for MatrixOne
      • Prerequisites
      • Steps
      • Git4Data Demo
    • Deploying
      • Plan MatrixOne Cluster Topology
        • Experience Environment Deployment Plan
        • Minimum Production Environment Deployment Plan
        • Recommended Production Environment Deployment Plan
      • Cluster Deployment Guide
        • Deployed Kubernetes and object storage environment
      • Cluster Operations Management
        • Updating
        • Health check and resource monitoring
        • Scaling
        • Managing CN Groups with Proxy
        • Import data from local Minio to MatrixOne
        • Operator Management
      • Deploy Matrixone Cluster
    • Maintenance
      • Backup and Recovery Concepts
      • Backup and Restore by using mo-dump
      • mo_br Backup and Recovery
        • Principle overview
        • Example
        • mo_br snapshot backup recovery
        • mo_br pitr
      • MatrixOne active/standby disaster recovery
      • cdc
        • From MatrixOne to MySQL
        • From MatrixOne to MatrixOne
      • Mount Data
    • Migrating
      • Migrate data from MySQL to MatrixOne
      • Migrate data from SQL Server to MatrixOne
      • Migrate data from SQL Server to MatrixOne
      • Migrate data from PostgreSQL to MatrixOne
    • Testing
      • TPCH Test with MatrixOne
      • TPCC Test with MatrixOne
      • Testing Tool
        • MO-Tester Specification
    • Performance Tuning
      • Understanding the Query Execution Plan
        • Using EXPLAIN to learn the execution plan
        • Explain Statements Using JOIN
        • Explain Statements Using Subqueries
        • Explain Statements Using Aggregation
        • EXPLAIN Statements Using Views
      • Performance tuning best practices
        • Scaling CN for better performance
        • Partition Pruning
        • Usage scenarios of Partition Pruning in KEY Partitioned Tables
        • Usage scenarios of Partition Pruning in HASH Partitioned Tables
        • Performance Tuning Examples for Partition Pruning
        • Constraints
        • Performance Tuning with Partitioned Tables
      • Optimizer Hints
    • Privilege
      • Authentication and Authorization
      • Password Management
      • Access Control
        • Privilege Management Scenario
        • Best Practices
      • User Guide
        • Create accounts, Verify Resource Isolation
        • Use the new account to creates users, roles, grant the privilege
      • Data Transmission Encryption
      • Security Audit
    • Reference
      • System Variables parameters
        • Save query result support
        • Timezone support
        • Lower case table names support
        • Foreign key checking support
        • User-specified case consistency support for query result set column names
        • Illegal login restrictions
        • Password complexity verification
        • Connection whitelist
        • Enable remap hint
      • event_scheduler
      • experimental_cagra_index
      • experimental_fulltext_index
      • experimental_hnsw_index
      • experimental_ivf_index
      • experimental_ivfpq_index
      • fulltext_bloom_filter_pushdown
      • lock_wait_timeout
      • protected_databases
      • sort_spill_mem
      • Custom variable
      • SQL Language Structure
        • Comments
      • Data Types
        • Data Type Conversion
        • Date and Time Types
          • YEAR Type
        • Geometry Type
        • JSON Data Type
        • BLOB and TEXT Type
        • DATALINK Type
        • ENUM Type
        • UUID Type
        • VECTOR Type
        • Fixed-Point Types (Exact Value) - DECIMAL
        • Set Type
      • SQL Statements
        • Data Definition Language
          • CREATE INDEX
          • CREATE INDEX...USING IVFFLAT
          • CREATE INDEX...USING HNSW
          • CREATE FULLTEXT INDEX
          • CREATE TABLE
          • CREATE TABLE AS SELECT
          • CREATE TABLE ... LIKE
          • CREATE EXTERNAL TABLE
          • CREATE CLUSTER TABLE
          • CREATE CLONE
          • CREATE PITR
          • CREATE PUBLICATION
          • CREATE SEQUENCE
          • CREATE STAGE
          • CREATE...FROM...PUBLICATION...
          • CREATE VIEW
          • CREATE FUNCTION...LANGUAGE SQL AS
          • CREATE FUNCTION...LANGUAGE PYTHON AS
          • CREATE SOURCE
          • CREATE DYNAMIC TABLE
          • CREATE SNAPSHOT
          • CREATE BRANCH
          • DELETE BRANCH
          • DIFF BRANCH
          • MERGE BRANCH
          • ALTER TABLE
          • ALTER TABLE ... ALTER REINDEX
          • ALTER PITR
          • ALTER PUBLICATION
          • ALTER SEQUENCE
          • ALTER STAGE
          • ALTER VIEW
          • DROP DATABASE
          • DROP INDEX
          • DROP TABLE
          • DROP PITR
          • DROP PUBLICATION
          • DROP SEQUENCE
          • DROP STAGE
          • DROP SNAPSHOT
          • DROP VIEW
          • DROP FUNCTION
          • TRUNCATE TABLE
          • RENAME TABLE
          • RESTORE PITR
          • RESTORE SNAPSHOT
          • Branch Protect Snapshots
          • Data Branch Pick
          • Sql Task
          • Data Branch Privilege
        • Data Manipulation Language
          • INSERT INTO SELECT
          • DELETE
          • UPDATE
          • LOAD DATA INFILE
          • LOAD DATA INLINE
          • UPSERT
            • INSERT ON DUPLICATE KEY UPDATE
            • INSERT IGNORE
            • REPLACE
          • Information Functions
            • LAST_INSERT_ID()
            • Current_Role
          • Case
          • Replace
        • Data Query Language
          • OUTER APPLY
          • JOIN
            • INNER JOIN
            • LEFT JOIN
            • RIGHT JOIN
            • FULL JOIN
            • OUTER JOIN
            • Examples
            • NATURAL JOIN
            • Cross Join
          • SELECT
          • BY RANK WITH OPTION
          • SUBQUERY
            • Derived Tables
            • Comparisons Using Subqueries
            • SUBQUERY with ANY or SOME
            • SUBQUERY with ALL
            • SUBQUERY with EXISTS
            • SUBQUERY with IN
          • With CTE
          • Combining Queries
            • UNION
            • INTERSECT
            • MINUS
        • Data Control Language
          • ALTER ACCOUNT
          • CREATE ROLE
          • CREATE USER
          • ALTER USER
          • DROP ACCOUNT
          • DROP USER
          • DROP ROLE
          • GRANT
          • REVOKE
          • Role Rule
        • Other
          • SHOW DATABASES
          • SHOW CREATE TABLE
          • SHOW CREATE VIEW
          • SHOW CREATE PUBLICATION
          • SHOW TABLES
          • SHOW INDEX
          • SHOW COLLATION
          • SHOW COLUMNS
          • SHOW FUNCTION STATUS
          • SHOW GRANT
          • SHOW PROCESSLIST
          • SHOW PUBLICATIONS
          • SHOW PITRS
          • SHOW ROLES
          • SHOW SEQUENCES
          • SHOW STAGE
          • SHOW SUBSCRIPTIONS
          • SHOW VARIABLES
          • Show Create Database
          • Show Table Status
          • SET
          • USE
          • KILL
          • Prepared Statements
            • EXECUTE
            • DEALLOCATE
          • Explain
            • EXPLAIN Output Format
            • Explain Analyze
            • Explain Prepared
          • Describe
      • Operators
        • OPERATORS
          • OPERATORS Precedence
          • Arithmetic Operators
            • %,MOD
            • *
            • +
            • -
            • -
            • /
            • DIV
          • Assignment Operators
            • =
          • Bit Functions and Operators
            • &
            • >>
            • <<
            • ^
            • |
            • ~
          • Cast Functions and Operators
            • BINARY
            • CAST
            • CONVERT
            • DECODE
            • ENCODE
            • SERIAL
            • SERIAL_FULL
          • Comparison Functions and Operators
            • >
            • >=
            • <
            • <>,!=
            • <=
            • =
            • BETWEEN ... AND ...
            • IN
            • IS
            • IS NOT
            • IS NOT NULL
            • IS NULL
            • ILIKE
            • ISNULL
            • LIKE
            • NOT BETWEEN ... AND ...
            • NOT IN
            • NOT LIKE
            • COALESCE
            • Function_Interval
            • Function_Greatest
            • Function_Least
            • Function_Strcmp
            • Null Safe Equal
          • Flow Control Functions
            • CASE WHEN
            • IF
            • IFNULL
            • NULLIF
          • Logical Operators
            • AND,&&
            • NOT,!
            • OR
            • XOR
      • Functions and Operators
        • Aggregate Functions
          • AVG
          • BITMAP
          • BIT_AND
          • BIT_OR
          • BIT_XOR
          • COUNT
          • GROUP_CONCAT
          • HLL_ADD_AGG
          • HLL_CARDINALITY
          • HLL_MERGE_AGG
          • MAX
          • MEDIAN
          • MIN
          • STDDEV_POP
          • SUM
          • VARIANCE
          • VAR_POP
        • Datetime
          • CURDATE()
          • CURRENT_TIMESTAMP()
          • DATE()
          • DATE_ADD()
          • DATE_FORMAT()
          • DATE_SUB()
          • DATEDIFF()
          • DAY()
          • DAYOFYEAR()
          • EXTRACT()
          • HOUR()
          • FROM_UNIXTIME
          • MINUTE()
          • MONTH()
          • NOW()
          • SECOND()
          • STR_TO_DATE()
          • SYSDATE()
          • TIME()
          • TIMEDIFF()
          • TIMESTAMP()
          • TIMESTAMPDIFF()
          • TO_DATE()
          • TO_DAYS()
          • TO_SECONDS()
          • UNIX_TIMESTAMP
          • UTC_TIMESTAMP()
          • WEEK()
          • WEEKDAY()
          • YEAR()
          • Addtime
          • Curtime
          • Dayname
          • Get Format
          • Maketime
          • Monthname
          • Quarter
          • Subtime
          • Time Format
          • Timestampadd
          • Yearweek
        • Geo Functions
          • H3 Index Functions
          • MBRContains
          • MBRCoveredBy
          • MBRCovers
          • MBRDisjoint
          • MBREquals
          • MBRIntersects
          • MBROverlaps
          • MBRTouches
          • MBRWithin
          • S2 Cell Functions
          • ST_Area()
          • ST_AsGeoJSON
          • ST_AsText()
          • ST_AsWKB()
          • ST_Boundary()
          • ST_Buffer()
          • ST_Centroid()
          • ST_Collect()
          • ST_Contains()
          • ST_ConvexHull()
          • ST_CoveredBy()
          • ST_Covers()
          • ST_Crosses()
          • ST_Difference()
          • ST_Dimension()
          • ST_Disjoint()
          • ST_Distance()
          • ST_Distance_Sphere()
          • ST_EndPoint()
          • ST_Envelope()
          • ST_Equals()
          • ST_ExteriorRing()
          • ST_FrechetDistance()
          • ST_GeoHash
          • ST_GeomCollFromText()
          • ST_GeomCollFromWKB()
          • ST_GeometryN()
          • ST_GeometryType()
          • ST_GeomFromGeoJSON
          • ST_GeomFromText()
          • ST_GeomFromWKB()
          • ST_HausdorffDistance()
          • ST_InteriorRingN()
          • ST_Intersection()
          • ST_Intersects()
          • ST_IsClosed()
          • ST_IsCollection()
          • ST_IsEmpty()
          • ST_IsRing()
          • ST_IsSimple()
          • ST_IsValid()
          • ST_LatFromGeoHash
          • ST_Latitude()
          • ST_Length()
          • ST_LineFromText()
          • ST_LineFromWKB()
          • ST_LineInterpolatePoint()
          • ST_LineInterpolatePoints()
          • ST_LongFromGeoHash
          • ST_Longitude()
          • ST_MakeEnvelope()
          • ST_MLineFromText()
          • ST_MLineFromWKB()
          • ST_MPointFromText()
          • ST_MPointFromWKB()
          • ST_MPolyFromText()
          • ST_MPolyFromWKB()
          • ST_NumGeometries()
          • ST_NumInteriorRings()
          • ST_NumPoints()
          • ST_Overlaps()
          • ST_PointAtDistance()
          • ST_PointFromGeoHash
          • ST_PointFromText()
          • ST_PointFromWKB()
          • ST_PointN()
          • ST_PointOnSurface()
          • ST_PolyFromText()
          • ST_PolyFromWKB()
          • ST_Simplify()
          • ST_SRID()
          • ST_StartPoint()
          • ST_SwapXY()
          • ST_SymDifference()
          • ST_Touches()
          • ST_Union()
          • ST_Validate()
          • ST_Within()
          • ST_X()
          • ST_Y()
        • Mathematical
          • ACOS()
          • ATAN()
          • BIT_COUNT()
          • CEIL()
          • CEILING()
          • COS()
          • COT()
          • CRC32()
          • EXP()
          • FLOOR()
          • LN()
          • LOG()
          • LOG2()
          • LOG10()
          • PI()
          • POWER()
          • ROUND()
          • RAND()
          • SIN()
          • SINH()
          • TAN()
          • Atan2
          • Degrees
          • Radians
          • Sign
          • Truncate
        • String
          • BIT_LENGTH()
          • CHAR_LENGTH()
          • CONCAT()
          • CONCAT_WS()
          • EMPTY()
          • ENDSWITH()
          • FIELD()
          • FIND_IN_SET()
          • FORMAT()
          • FROM_BASE64()
          • HEX()
          • INSTR()
          • LCASE()
          • LEFT()
          • LENGTH()
          • LOCATE()
          • LOWER()
          • LPAD()
          • LTRIM()
          • MD5()
          • NAME_CONST()
          • OCT()
          • REPEAT()
          • REVERSE()
          • RPAD()
          • RTRIM()
          • SHA1()/SHA()
          • SHA2()
          • SPACE()
          • SPLIT_PART()
          • STARTSWITH()
          • STRCMP()
          • SUBSTRING()
          • SUBSTRING_INDEX()
          • TO_BASE64()
          • TRIM()
          • UCASE()
          • UNHEX()
          • UPPER()
          • Regular Expressions
            • NOT REGEXP
            • REGEXP_INSTR()
            • REGEXP_LIKE()
            • REGEXP_REPLACE()
            • REGEXP_SUBSTR()
          • Aes_Decrypt
          • Aes_Encrypt
          • Elt
          • Quote
          • Right
        • Vector
          • Mathematical Calculations
          • CLUSTER_CENTERS()
          • COSINE_SIMILARITY()
          • COSINE_DISTANCE()
          • INNER_PRODUCT()
          • L1_NORM()
          • L2_NORM()
          • L2_DISTANCE()
          • NORMALIZE_L2()
          • SUBVECTOR()
          • VECTOR_DIMS()
        • Table
          • UNNEST()
        • Window Functions
          • RANK()
          • ROW_NUMBER()
          • Cume_Dist
          • Percent_Rank
        • JSON Functions
          • JSON_EXTRACT()
          • JSON_EXTRACT_FLOAT64()
          • JSON_EXTRACT_STRING()
          • JSON_QUOTE()
          • JSON_ROW()
          • JSON_SET()
          • JSON_UNQUOTE()
          • TRY_JQ()
          • Json Arrow
          • JSON_ARRAY()
            • JSON_KEYS()
            • JSON_LENGTH()
            • JSON_OBJECT()
            • JSON_PRETTY()
            • JSON_SCHEMA_VALID()
            • JSON_SCHEMA_VALIDATION_REPORT()
            • JSON_TYPE()
            • JSON_VALID()
            • JSON_VALUE()
          • JSON_KEYS()
          • JSON_LENGTH()
          • JSON_OBJECT()
          • JSON_PRETTY()
          • JSON_SCHEMA_VALID()
          • JSON_SCHEMA_VALIDATION_REPORT()
          • JSON_TYPE()
          • JSON_VALID()
          • JSON_VALUE()
        • Other Functions
          • SAVE_FILE()
          • SAMPLE()
          • SERIAL_EXTRACT()
          • SLEEP()
          • STAGE_LIST()
          • UUID()
        • System OPS Functions
          • CURRENT_ROLE()
          • CURRENT_USER_NAME()
          • CURRENT_USER()
          • PURGE_LOG()
          • GET_LOCK()
          • RELEASE_LOCK()
          • IS_FREE_LOCK()
          • IS_USED_LOCK()
          • RELEASE_ALL_LOCKS()
          • Version
      • System Paramaters
        • Standalone Common Parameters Configuration
        • Distributed Common Parameters Configuration
      • MatrixOne Catalog
      • Privilege Control Types
      • Limitations
        • Partitioning supported features list
      • MatrixOne Directory Structure
      • MatrixOne Tools
        • mo_ctl distributed Tools
        • mo_datax_writer tool
        • mo_ssb_open tool
        • mo_tpch_open tool
        • mo_ts_perf_test tool
        • Mo_Service
      • Mysql Compatibility Matrix
      • Mysql Unsupported Features
    • Troubleshooting
      • Common statistic data query
      • Database statistics
      • Error Code
    • FAQs
      • Deployment FAQs
      • SQL FAQs
    • Release Notes
    • Glossary
    • Contribution Guide
      • How to Contribute
        • Preparation
        • Report an Issue
        • Contribute Code
        • Review a Pull Request
        • Contribute Documentation
        • Make a Design
      • Code Style
        • Code Comment Style
        • Commit & Pull Request Style
  • Get Started
    • Deploy on macOS
      • Using binary package
      • Using Docker
    • Deploy on Linux
      • Using binary package
      • Using Docker
    • Basic SQL
  • Develop
    • Java connect to MatrixOne
      • Connect MatrixOne with Java ORMs
    • Python connect to MatrixOne
    • C# connect to MatrixOne
    • Connecting to MatrixOne with Golang
    • MatrixOne SSL connection
    • Connecting to MatrixOne with TypeScript
    • Schema Design
      • Create Database
      • Create Table
      • Replication table
      • Create View
      • Create Temporary Table
      • Create Secondary Index
      • Vector
      • Data Integrity
        • NOT NULL Constraints
        • UNIQUE KEY Constraints
        • PRIMARY KEY Constraints
        • FOREIGN KEY Constraints
        • AUTO INCREMENT Constraints
    • Write Data
      • Bulk Load
        • Load csv format data
        • Load jsonlines format data
        • Load data from S3
        • Load data by using the `source`
      • Update Data
      • Delete Data
      • Prepared
    • Export Data
      • Export data by MODUMP
    • Read Data
      • Multi-table Join Queries
      • Subquery
      • Views
      • Common Table Expression
      • Window Function
        • Time Window
    • Data de-duplication
      • BITMAP
    • Account Design
      • Publish-Subscribe
    • Transactions
      • Transaction by MatrixOne Server
        • Explicit Transaction
        • Implicit Transaction
        • Pessimistic Transaction
        • Optimistic Transaction
        • Isolation Level
        • MVCC
        • User Guide
          • Scenario
        • Scenario
    • User-defined function
      • UDF python advanced
    • Vector
      • Vector Search
      • IVF Rank Options
      • Cluster Centers
    • Ecological Tools
      • Visualizing MatrixOne Reports with Yonghong BI
      • Visual Monitoring of MatrixOne with Superset
      • ETL Tools
        • Writing Data from MySQL to MatrixOne
        • Writing Data from Oracle to MatrixOne
        • Using DataX to write data to MatrixOne
          • Writing Data from MySQL to MatrixOne
          • Writing Data from Oracle to MatrixOne
          • Writing Data from PostgreSQL to MatrixOne
          • Writing Data from SQL Server to MatrixOne
          • Writing Data from MongoDB to MatrixOne
          • Writing Data from TiDB to MatrixOne
          • Writing Data from ClickHouse to MatrixOne
          • Writing Data from Doris to MatrixOne
          • Writing Data from InfluxDB to MatrixOne
          • Writing Data from Elasticsearch to MatrixOne
      • Computing Engine
        • Writing Data from MySQL to MatrixOne
        • Writing Data from Hive to MatrixOne
        • Writing Data from Doris to MatrixOne
        • Using Flink to Write Real-Time Data to MatrixOne
          • Writing Data from MySQL to MatrixOne
          • Writing Data from Oracle to MatrixOne
          • Writing Data from SQL Server to MatrixOne
          • Writing Data from PostgreSQL to MatrixOne
          • Writing Data from MongoDB to MatrixOne
          • Writing Data from TiDB to MatrixOne
          • Writing Data from Kafka to MatrixOne
      • Scheduling Tools
    • Develop Overview
    • AI Agent Tools
      • Query MatrixOne Documentation with AI Agent
  • Tutorial
    • SpringBoot and JPA CRUD demo
    • SpringBoot and MyBatis CRUD demo
    • PyMySQL CRUD demo
    • SQLAlchemy CRUD demo
    • Django CRUD demo
    • Golang CRUD demo
    • Gorm CRUD demo
    • C# CRUD demo
    • TypeScript Basic Example
    • HTAP Application demo
    • RAG Application demo
    • Safe Production Upgrade with Instant Rollback
    • Instant Clone for Multi-Team Development
    • Pinecone-Compatible Vector Search
    • IVF Index Health Monitoring
    • HNSW Vector Index
    • Hybrid Search (Vector + Fulltext + SQL)
    • Fulltext Natural Search
    • Fulltext Boolean Search
    • Fulltext JSON Search
    • Picture(Text)-to-Picture Search Application demo
    • Dify Platform Integration Guide for MatrixOne
    • Prerequisites
    • Steps
    • Git4Data Demo
  • Deploy
    • Plan MatrixOne Cluster Topology
      • Experience Environment Deployment Plan
      • Minimum Production Environment Deployment Plan
      • Recommended Production Environment Deployment Plan
    • Cluster Deployment Guide
      • Deployed Kubernetes and object storage environment
    • Cluster Operations Management
      • Updating
      • Health check and resource monitoring
      • Scaling
      • Managing CN Groups with Proxy
      • Import data from local Minio to MatrixOne
      • Operator Management
    • Deploy Matrixone Cluster
  • Operations
    • Backup and Recovery Concepts
    • Backup and Restore by using mo-dump
    • mo_br Backup and Recovery
      • Principle overview
      • Example
      • mo_br snapshot backup recovery
      • mo_br pitr
    • MatrixOne active/standby disaster recovery
    • cdc
      • From MatrixOne to MySQL
      • From MatrixOne to MatrixOne
    • Mount Data
  • Migrate
    • Migrate data from MySQL to MatrixOne
    • Migrate data from SQL Server to MatrixOne
    • Migrate data from SQL Server to MatrixOne
    • Migrate data from PostgreSQL to MatrixOne
  • Test
    • TPCH Test with MatrixOne
    • TPCC Test with MatrixOne
    • Testing Tool
      • MO-Tester Specification
  • Performance
    • Understanding the Query Execution Plan
      • Using EXPLAIN to learn the execution plan
      • Explain Statements Using JOIN
      • Explain Statements Using Subqueries
      • Explain Statements Using Aggregation
      • EXPLAIN Statements Using Views
    • Performance tuning best practices
      • Scaling CN for better performance
      • Partition Pruning
      • Usage scenarios of Partition Pruning in KEY Partitioned Tables
      • Usage scenarios of Partition Pruning in HASH Partitioned Tables
      • Performance Tuning Examples for Partition Pruning
      • Constraints
      • Performance Tuning with Partitioned Tables
    • Optimizer Hints
  • Security
    • Authentication and Authorization
    • Password Management
    • Access Control
      • Privilege Management Scenario
      • Best Practices
    • User Guide
      • Create accounts, Verify Resource Isolation
      • Use the new account to creates users, roles, grant the privilege
    • Data Transmission Encryption
    • Security Audit
  • Reference
    • System Variables parameters
      • Save query result support
      • Timezone support
      • Lower case table names support
      • Foreign key checking support
      • User-specified case consistency support for query result set column names
      • Illegal login restrictions
      • Password complexity verification
      • Connection whitelist
      • Enable remap hint
    • event_scheduler
    • experimental_cagra_index
    • experimental_fulltext_index
    • experimental_hnsw_index
    • experimental_ivf_index
    • experimental_ivfpq_index
    • fulltext_bloom_filter_pushdown
    • lock_wait_timeout
    • protected_databases
    • sort_spill_mem
    • Custom variable
    • SQL Language Structure
      • Comments
    • Data Types
      • Data Type Conversion
      • Date and Time Types
        • YEAR Type
      • Geometry Type
      • JSON Data Type
      • BLOB and TEXT Type
      • DATALINK Type
      • ENUM Type
      • UUID Type
      • VECTOR Type
      • Fixed-Point Types (Exact Value) - DECIMAL
      • Set Type
    • SQL Statements
      • Data Definition Language
        • CREATE INDEX
        • CREATE INDEX...USING IVFFLAT
        • CREATE INDEX...USING HNSW
        • CREATE FULLTEXT INDEX
        • CREATE TABLE
        • CREATE TABLE AS SELECT
        • CREATE TABLE ... LIKE
        • CREATE EXTERNAL TABLE
        • CREATE CLUSTER TABLE
        • CREATE CLONE
        • CREATE PITR
        • CREATE PUBLICATION
        • CREATE SEQUENCE
        • CREATE STAGE
        • CREATE...FROM...PUBLICATION...
        • CREATE VIEW
        • CREATE FUNCTION...LANGUAGE SQL AS
        • CREATE FUNCTION...LANGUAGE PYTHON AS
        • CREATE SOURCE
        • CREATE DYNAMIC TABLE
        • CREATE SNAPSHOT
        • CREATE BRANCH
        • DELETE BRANCH
        • DIFF BRANCH
        • MERGE BRANCH
        • ALTER TABLE
        • ALTER TABLE ... ALTER REINDEX
        • ALTER PITR
        • ALTER PUBLICATION
        • ALTER SEQUENCE
        • ALTER STAGE
        • ALTER VIEW
        • DROP DATABASE
        • DROP INDEX
        • DROP TABLE
        • DROP PITR
        • DROP PUBLICATION
        • DROP SEQUENCE
        • DROP STAGE
        • DROP SNAPSHOT
        • DROP VIEW
        • DROP FUNCTION
        • TRUNCATE TABLE
        • RENAME TABLE
        • RESTORE PITR
        • RESTORE SNAPSHOT
        • Branch Protect Snapshots
        • Data Branch Pick
        • Sql Task
        • Data Branch Privilege
      • Data Manipulation Language
        • INSERT INTO SELECT
        • DELETE
        • UPDATE
        • LOAD DATA INFILE
        • LOAD DATA INLINE
        • UPSERT
          • INSERT ON DUPLICATE KEY UPDATE
          • INSERT IGNORE
          • REPLACE
        • Information Functions
          • LAST_INSERT_ID()
          • Current_Role
        • Case
        • Replace
      • Data Query Language
        • OUTER APPLY
        • JOIN
          • INNER JOIN
          • LEFT JOIN
          • RIGHT JOIN
          • FULL JOIN
          • OUTER JOIN
          • Examples
          • NATURAL JOIN
          • Cross Join
        • SELECT
        • BY RANK WITH OPTION
        • SUBQUERY
          • Derived Tables
          • Comparisons Using Subqueries
          • SUBQUERY with ANY or SOME
          • SUBQUERY with ALL
          • SUBQUERY with EXISTS
          • SUBQUERY with IN
        • With CTE
        • Combining Queries
          • UNION
          • INTERSECT
          • MINUS
      • Data Control Language
        • ALTER ACCOUNT
        • CREATE ROLE
        • CREATE USER
        • ALTER USER
        • DROP ACCOUNT
        • DROP USER
        • DROP ROLE
        • GRANT
        • REVOKE
        • Role Rule
      • Other
        • SHOW DATABASES
        • SHOW CREATE TABLE
        • SHOW CREATE VIEW
        • SHOW CREATE PUBLICATION
        • SHOW TABLES
        • SHOW INDEX
        • SHOW COLLATION
        • SHOW COLUMNS
        • SHOW FUNCTION STATUS
        • SHOW GRANT
        • SHOW PROCESSLIST
        • SHOW PUBLICATIONS
        • SHOW PITRS
        • SHOW ROLES
        • SHOW SEQUENCES
        • SHOW STAGE
        • SHOW SUBSCRIPTIONS
        • SHOW VARIABLES
        • Show Create Database
        • Show Table Status
        • SET
        • USE
        • KILL
        • Prepared Statements
          • EXECUTE
          • DEALLOCATE
        • Explain
          • EXPLAIN Output Format
          • Explain Analyze
          • Explain Prepared
        • Describe
    • Operators
      • OPERATORS
        • OPERATORS Precedence
        • Arithmetic Operators
          • %,MOD
          • *
          • +
          • -
          • -
          • /
          • DIV
        • Assignment Operators
          • =
        • Bit Functions and Operators
          • &
          • >>
          • <<
          • ^
          • |
          • ~
        • Cast Functions and Operators
          • BINARY
          • CAST
          • CONVERT
          • DECODE
          • ENCODE
          • SERIAL
          • SERIAL_FULL
        • Comparison Functions and Operators
          • >
          • >=
          • <
          • <>,!=
          • <=
          • =
          • BETWEEN ... AND ...
          • IN
          • IS
          • IS NOT
          • IS NOT NULL
          • IS NULL
          • ILIKE
          • ISNULL
          • LIKE
          • NOT BETWEEN ... AND ...
          • NOT IN
          • NOT LIKE
          • COALESCE
          • Function_Interval
          • Function_Greatest
          • Function_Least
          • Function_Strcmp
          • Null Safe Equal
        • Flow Control Functions
          • CASE WHEN
          • IF
          • IFNULL
          • NULLIF
        • Logical Operators
          • AND,&&
          • NOT,!
          • OR
          • XOR
    • Functions and Operators
      • Aggregate Functions
        • AVG
        • BITMAP
        • BIT_AND
        • BIT_OR
        • BIT_XOR
        • COUNT
        • GROUP_CONCAT
        • HLL_ADD_AGG
        • HLL_CARDINALITY
        • HLL_MERGE_AGG
        • MAX
        • MEDIAN
        • MIN
        • STDDEV_POP
        • SUM
        • VARIANCE
        • VAR_POP
      • Datetime
        • CURDATE()
        • CURRENT_TIMESTAMP()
        • DATE()
        • DATE_ADD()
        • DATE_FORMAT()
        • DATE_SUB()
        • DATEDIFF()
        • DAY()
        • DAYOFYEAR()
        • EXTRACT()
        • HOUR()
        • FROM_UNIXTIME
        • MINUTE()
        • MONTH()
        • NOW()
        • SECOND()
        • STR_TO_DATE()
        • SYSDATE()
        • TIME()
        • TIMEDIFF()
        • TIMESTAMP()
        • TIMESTAMPDIFF()
        • TO_DATE()
        • TO_DAYS()
        • TO_SECONDS()
        • UNIX_TIMESTAMP
        • UTC_TIMESTAMP()
        • WEEK()
        • WEEKDAY()
        • YEAR()
        • Addtime
        • Curtime
        • Dayname
        • Get Format
        • Maketime
        • Monthname
        • Quarter
        • Subtime
        • Time Format
        • Timestampadd
        • Yearweek
      • Geo Functions
        • H3 Index Functions
        • MBRContains
        • MBRCoveredBy
        • MBRCovers
        • MBRDisjoint
        • MBREquals
        • MBRIntersects
        • MBROverlaps
        • MBRTouches
        • MBRWithin
        • S2 Cell Functions
        • ST_Area()
        • ST_AsGeoJSON
        • ST_AsText()
        • ST_AsWKB()
        • ST_Boundary()
        • ST_Buffer()
        • ST_Centroid()
        • ST_Collect()
        • ST_Contains()
        • ST_ConvexHull()
        • ST_CoveredBy()
        • ST_Covers()
        • ST_Crosses()
        • ST_Difference()
        • ST_Dimension()
        • ST_Disjoint()
        • ST_Distance()
        • ST_Distance_Sphere()
        • ST_EndPoint()
        • ST_Envelope()
        • ST_Equals()
        • ST_ExteriorRing()
        • ST_FrechetDistance()
        • ST_GeoHash
        • ST_GeomCollFromText()
        • ST_GeomCollFromWKB()
        • ST_GeometryN()
        • ST_GeometryType()
        • ST_GeomFromGeoJSON
        • ST_GeomFromText()
        • ST_GeomFromWKB()
        • ST_HausdorffDistance()
        • ST_InteriorRingN()
        • ST_Intersection()
        • ST_Intersects()
        • ST_IsClosed()
        • ST_IsCollection()
        • ST_IsEmpty()
        • ST_IsRing()
        • ST_IsSimple()
        • ST_IsValid()
        • ST_LatFromGeoHash
        • ST_Latitude()
        • ST_Length()
        • ST_LineFromText()
        • ST_LineFromWKB()
        • ST_LineInterpolatePoint()
        • ST_LineInterpolatePoints()
        • ST_LongFromGeoHash
        • ST_Longitude()
        • ST_MakeEnvelope()
        • ST_MLineFromText()
        • ST_MLineFromWKB()
        • ST_MPointFromText()
        • ST_MPointFromWKB()
        • ST_MPolyFromText()
        • ST_MPolyFromWKB()
        • ST_NumGeometries()
        • ST_NumInteriorRings()
        • ST_NumPoints()
        • ST_Overlaps()
        • ST_PointAtDistance()
        • ST_PointFromGeoHash
        • ST_PointFromText()
        • ST_PointFromWKB()
        • ST_PointN()
        • ST_PointOnSurface()
        • ST_PolyFromText()
        • ST_PolyFromWKB()
        • ST_Simplify()
        • ST_SRID()
        • ST_StartPoint()
        • ST_SwapXY()
        • ST_SymDifference()
        • ST_Touches()
        • ST_Union()
        • ST_Validate()
        • ST_Within()
        • ST_X()
        • ST_Y()
      • Mathematical
        • ACOS()
        • ATAN()
        • BIT_COUNT()
        • CEIL()
        • CEILING()
        • COS()
        • COT()
        • CRC32()
        • EXP()
        • FLOOR()
        • LN()
        • LOG()
        • LOG2()
        • LOG10()
        • PI()
        • POWER()
        • ROUND()
        • RAND()
        • SIN()
        • SINH()
        • TAN()
        • Atan2
        • Degrees
        • Radians
        • Sign
        • Truncate
      • String
        • BIT_LENGTH()
        • CHAR_LENGTH()
        • CONCAT()
        • CONCAT_WS()
        • EMPTY()
        • ENDSWITH()
        • FIELD()
        • FIND_IN_SET()
        • FORMAT()
        • FROM_BASE64()
        • HEX()
        • INSTR()
        • LCASE()
        • LEFT()
        • LENGTH()
        • LOCATE()
        • LOWER()
        • LPAD()
        • LTRIM()
        • MD5()
        • NAME_CONST()
        • OCT()
        • REPEAT()
        • REVERSE()
        • RPAD()
        • RTRIM()
        • SHA1()/SHA()
        • SHA2()
        • SPACE()
        • SPLIT_PART()
        • STARTSWITH()
        • STRCMP()
        • SUBSTRING()
        • SUBSTRING_INDEX()
        • TO_BASE64()
        • TRIM()
        • UCASE()
        • UNHEX()
        • UPPER()
        • Regular Expressions
          • NOT REGEXP
          • REGEXP_INSTR()
          • REGEXP_LIKE()
          • REGEXP_REPLACE()
          • REGEXP_SUBSTR()
        • Aes_Decrypt
        • Aes_Encrypt
        • Elt
        • Quote
        • Right
      • Vector
        • Mathematical Calculations
        • CLUSTER_CENTERS()
        • COSINE_SIMILARITY()
        • COSINE_DISTANCE()
        • INNER_PRODUCT()
        • L1_NORM()
        • L2_NORM()
        • L2_DISTANCE()
        • NORMALIZE_L2()
        • SUBVECTOR()
        • VECTOR_DIMS()
      • Table
        • UNNEST()
      • Window Functions
        • RANK()
        • ROW_NUMBER()
        • Cume_Dist
        • Percent_Rank
      • JSON Functions
        • JSON_EXTRACT()
        • JSON_EXTRACT_FLOAT64()
        • JSON_EXTRACT_STRING()
        • JSON_QUOTE()
        • JSON_ROW()
        • JSON_SET()
        • JSON_UNQUOTE()
        • TRY_JQ()
        • Json Arrow
        • JSON_ARRAY()
          • JSON_KEYS()
          • JSON_LENGTH()
          • JSON_OBJECT()
          • JSON_PRETTY()
          • JSON_SCHEMA_VALID()
          • JSON_SCHEMA_VALIDATION_REPORT()
          • JSON_TYPE()
          • JSON_VALID()
          • JSON_VALUE()
        • JSON_KEYS()
        • JSON_LENGTH()
        • JSON_OBJECT()
        • JSON_PRETTY()
        • JSON_SCHEMA_VALID()
        • JSON_SCHEMA_VALIDATION_REPORT()
        • JSON_TYPE()
        • JSON_VALID()
        • JSON_VALUE()
      • Other Functions
        • SAVE_FILE()
        • SAMPLE()
        • SERIAL_EXTRACT()
        • SLEEP()
        • STAGE_LIST()
        • UUID()
      • System OPS Functions
        • CURRENT_ROLE()
        • CURRENT_USER_NAME()
        • CURRENT_USER()
        • PURGE_LOG()
        • GET_LOCK()
        • RELEASE_LOCK()
        • IS_FREE_LOCK()
        • IS_USED_LOCK()
        • RELEASE_ALL_LOCKS()
        • Version
    • System Paramaters
      • Standalone Common Parameters Configuration
      • Distributed Common Parameters Configuration
    • MatrixOne Catalog
    • Privilege Control Types
    • Limitations
      • Partitioning supported features list
    • MatrixOne Directory Structure
    • MatrixOne Tools
      • mo_ctl distributed Tools
      • mo_datax_writer tool
      • mo_ssb_open tool
      • mo_tpch_open tool
      • mo_ts_perf_test tool
      • Mo_Service
    • Mysql Compatibility Matrix
    • Mysql Unsupported Features
  • Troubleshooting
    • Common statistic data query
    • Database statistics
    • Error Code
  • FAQs
    • Deployment FAQs
    • SQL FAQs
  • Release Notes
    • MatrixOne v26.4.1.4 Release Notes
    • MatrixOne v26.4.1.3 Release Notes
    • MatrixOne v26.4.1.2 Release Notes
    • MatrixOne v26.4.1.1 Release Notes
    • MatrixOne v26.4.1.0 Release Notes
    • MatrixOne v26.4.0.0-rc4 Release Notes
    • MatrixOne v26.4.0.0-rc3 Release Notes
    • MatrixOne v26.4.0.0-rc2 Release Notes
    • MatrixOne v26.4.0.0-rc1 Release Notes
    • MatrixOne v26.3.0.10 Release Notes
    • MatrixOne v26.3.0.11 Release Notes
    • MatrixOne v26.3.0.12 Release Notes
    • MatrixOne v26.3.0.13 Release Notes
    • MatrixOne v26.3.0.14 Release Notes
    • MatrixOne v26.3.0.15 Release Notes
    • MatrixOne v26.3.0.5 Release Notes
    • MatrixOne v26.3.0.6 Release Notes
    • MatrixOne v26.3.0.7 Release Notes
    • MatrixOne v26.3.0.8 Release Notes
    • MatrixOne v26.3.0.9 Release Notes
    • MatrixOne v25.2.0.2 Release Notes
    • MatrixOne v25.2.0.3 Release Notes
    • MatrixOne v25.2.1.0 Release Note
    • MatrixOne v25.2.1.1 Release Notes
    • MatrixOne v25.2.2.0 Release Notes
    • MatrixOne v25.2.2.1 Release Notes
    • MatrixOne v25.2.2.2 Release Notes
    • MatrixOne v25.3.0.0 Release Note
    • MatrixOne v25.3.0.1 Release Notes
    • MatrixOne v25.3.0.2 Release Notes
    • MatrixOne v25.3.0.3 Release Notes
    • MatrixOne v25.3.0.4 Release Notes
    • Key Improvements
    • MatrixOne v24.1.1.1 Release Notes
    • MatrixOne v24.1.1.2 Release Notes
    • MatrixOne v24.1.1.3 Release Notes
    • MatrixOne v24.1.2.0 Release Notes
    • MatrixOne v24.1.2.1 Release Notes
    • MatrixOne v24.1.2.2 Release Notes
    • MatrixOne v24.1.2.3 Release Notes
    • MatrixOne v24.1.2.4 Release Notes
    • MatrixOne v24.2.0.0 Release Notes
    • MatrixOne v24.2.0.1 Release Notes
    • MatrixOne v23.0.7.0 Release Notes
    • MatrixOne v0.8.0 Release Notes
    • MatrixOne v23.1.0.0 Release Notes
    • MatrixOne v23.1.0.0-RC1 Release Notes
    • MatrixOne v23.1.0.0-RC2 Release Notes
    • MatrixOne v23.1.0.1 Release Notes
    • MatrixOne v23.1.0.2 Release Notes
    • MatrixOne v23.1.1.0 Release Notes
    • MatrixOne v22.0.2.0 Release Notes
    • MatrixOne v22.0.3.0 Release Notes
    • Docker
    • Features
    • Known issues
    • Contributors
    • MatrixOne v22.0.4.0 Release Notes
    • Docker
    • Features
    • Known issues
    • Contributors
    • MatrixOne v22.0.5.0 Release Notes
    • MatrixOne v22.0.5.1 Release Notes
    • MatrixOne v220.6.0 Release Notes
    • MatrixOne v21.0.1.0 Release Notes
  • Glossary
  • Contribute
    • How to Contribute
      • Preparation
      • Report an Issue
      • Contribute Code
      • Review a Pull Request
      • Contribute Documentation
      • Make a Design
    • Code Style
      • Code Comment Style
      • Commit & Pull Request Style
Back to top

Write SQL Server data to MatrixOne using Flink¶

This chapter describes how to write SQL Server data to MatrixOne using Flink.

Pre-preparation¶

This practice requires the installation and deployment of the following software environments:

  • Complete standalone MatrixOne deployment.

  • Download and install lntelliJ IDEA (2022.2.1 or later version).

  • Select the JDK 8+ version version to download and install depending on your system environment.

  • Download and install Flink with a minimum supported version of 1.11.

  • Completed SQL Server 2022.

  • Download and install MySQL, the recommended version is 8.0.33.

Operational steps¶

Create libraries, tables, and insert data in SQL Server¶

create database sstomo;
use sstomo;
create table sqlserver_data (
    id INT PRIMARY KEY,
    name NVARCHAR(100),
    age INT,
    entrytime DATE,
    gender NVARCHAR(2)
);

insert into sqlserver_data (id, name, age, entrytime, gender)
values  (1, 'Lisa', 25, '2010-10-12', '0'),
        (2, 'Liming', 26, '2013-10-12', '0'),
        (3, 'asdfa', 27, '2022-10-12', '0'),
        (4, 'aerg', 28, '2005-10-12', '0'),
        (5, 'asga', 29, '2015-10-12', '1'),
        (6, 'sgeq', 30, '2010-10-12', '1');

SQL Server Configuration CDC¶

  1. Verify that the current user has sysadmin privileges turned on Queries for the current user permissions. The CDC (Change Data Capture) feature must be enabled for the database to be a member of the sysadmin fixed server role. query the sa user for sysadmin by the following command

    exec sp_helpsrvrolemember 'sysadmin';
    
  2. Queries if the current database has CDC (Change Data Capture Capability) enabled

    Remarks: 0: means not enabled; 1: means enabled

    If not, execute the following sql open:

    use sstomo; exec sys.sp_cdc_enable_db; 
    
  3. Query whether the table has CDC (Change Data Capture) enabled

```sql
select name,is_tracked_by_cdc from sys.tables where name = 'sqlserver_data'; 
```

<div align="center">
    <img src=https://github.com/matrixorigin/artwork/blob/main/docs/develop/flink/flink-sqlserver-03.jpg?raw=true width=50% heigth=50%/>
</div>

Remarks: 0: means not enabled; 1: means enabled If not, execute the following sql to turn it on:

```tsql
use sstomo;
exec sys.sp_cdc_enable_table 
@source_schema = 'dbo', 
@source_name = 'sqlserver_data', 
@role_name = NULL, 
@supports_net_changes = 0;
```
  1. Table sqlserver_data Start CDC (Change Data Capture) Feature Configuration Completed

    Looking at the system tables under the database, you will see more cdc-related data tables, where cdc.dbo_sqlserver_flink_CT is the record of all DML operations that record the source tables, each corresponding to an instance table.

  2. Verify that the CDC agent starts properly

    Execute the following command to see if the CDC agent is on:

    exec master.dbo.xp_servicecontrol N'QUERYSTATE', N'SQLSERVERAGENT'; 
    

    If the status is Stopped, you need to turn on the CDC agent.

    Open the CDC agent in a Windows environment: On the machine where the SqlServer database is installed, open Microsoft Sql Server Managememt Studio, right-click the following image location (SQL Server agent), and click Open, as shown below:

    Once on, query the agent status again to confirm that the status has changed to running

    At this point, the table sqlserver_data starts the CDC (Change Data Capture) function all complete.

Creating target libraries and tables in MatrixOne¶

create database sstomo;
use sstomo;
CREATE TABLE sqlserver_data (
     id int NOT NULL,
     name varchar(100) DEFAULT NULL,
     age int DEFAULT NULL,
     entrytime date DEFAULT NULL,
     gender char(1) DEFAULT NULL,
     PRIMARY KEY (id)
);

Start flink¶

  1. Copy the cdc jar package

    Copy link-sql-connector-sqlserver-cdc-2.3.0.jar, flink-connector-jdbc_2.12-1.13.6.jar, mysql-connector-j-8.0.33.jar to the lib directory of flink.

  2. Start flink

    Switch to the flink directory and start the cluster

    ./bin/start-cluster.sh 
    

    Start Flink SQL CLIENT

    ./bin/sql-client.sh 
    
  3. Turn on checkpoint

    SET execution.checkpointing.interval = 3s; 
    

Create source/sink table with flink ddl¶

-- Create source table
CREATE TABLE sqlserver_source (
id INT,
name varchar(50),
age INT,
entrytime date,
gender varchar(100),
PRIMARY KEY (`id`) not enforced
) WITH( 
'connector' = 'sqlserver-cdc',
'hostname' = 'xx.xx.xx.xx',
'port' = '1433',
'username' = 'sa',
'password' = '123456',
'database-name' = 'sstomo',
'schema-name' = 'dbo',
'table-name' = 'sqlserver_data');

-- Creating a sink table
CREATE TABLE sqlserver_sink (
id INT,
name varchar(100),
age INT,
entrytime date,
gender varchar(10),
PRIMARY KEY (`id`) not enforced
) WITH( 
'connector' = 'jdbc',
'url' = 'jdbc:mysql://xx.xx.xx.xx:6001/sstomo',
'driver' = 'com.mysql.cj.jdbc.Driver',
'username' = 'root',
'password' = '111',
'table-name' = 'sqlserver_data'
);

-- Read and insert the source table data into the sink table.
Insert into sqlserver_sink select * from sqlserver_source;

Query correspondence table data in MatrixOne¶

use sstomo; 
select * from sqlserver_data; 

Inserting data to SQL Server¶

Insert 3 pieces of data into the SqlServer table sqlserver_data:

insert into sstomo.dbo.sqlserver_data (id, name, age, entrytime, gender)
values (7, 'Liss12a', 25, '2010-10-12', '0'),
      (8, '12233s', 26, '2013-10-12', '0'),
      (9, 'sgeq1', 304, '2010-10-12', '1');

Query corresponding table data in MatrixOne:

select * from sstomo.sqlserver_data; 

Deleting incremental data in SQL Server¶

Delete two rows with ids 3 and 4 in SQL Server:

delete from sstomo.dbo.sqlserver_data where id in(3,4); 

Query table data in mo, these two rows have been deleted synchronously:

Adding new data to SQL Server¶

Update two rows of data in a SqlServer table:

update sstomo.dbo.sqlserver_data set age = 18 where id in(1,2); 

Query table data in MatrixOne, the two rows have been updated in sync:

Next
Write PostgreSQL data to MatrixOne using Flink
Previous
Write Oracle data to MatrixOne using Flink
Copyright © 2026, MatrixOrigin
Made with Sphinx and @pradyunsg's Furo
On this page
  • Write SQL Server data to MatrixOne using Flink
    • Pre-preparation
    • Operational steps
      • Create libraries, tables, and insert data in SQL Server
      • SQL Server Configuration CDC
      • Creating target libraries and tables in MatrixOne
      • Start flink
      • Create source/sink table with flink ddl
      • Query correspondence table data in MatrixOne
      • Inserting data to SQL Server
      • Deleting incremental data in SQL Server
      • Adding new data to SQL Server