hhhh2010

博客园 首页 新随笔 联系 订阅 管理
  178 随笔 :: 0 文章 :: 6 评论 :: 22万 阅读

           最近某项目突然要增加数据的获取,但是不能改程序、也没有同步的只读库,只好使用CDC来进行尝试。

           CDC的启用和停止全部用SQL实现,在这里给出主要的SQL步骤:

           

复制代码
/****** Script for SelectTopNRows command from SSMS  ******/
--------------------------------(1.1)启动数据库CDC
USE TestDB
GO
EXECUTE sys.sp_cdc_enable_db;
GO
--------------------------------(1.2)有错误15517则执行
ALTER AUTHORIZATION ON DATABASE::[TestDB] TO [sa]

---------------------------------(1.3)查看是否启用数据库CDC
SELECT  is_cdc_enabled,CASE WHEN is_cdc_enabled=0 THEN 'CDC功能禁用'ELSE 'CDC功能启用'END [描述]
FROM    sys.databases
WHERE   [name]='TestDB'

-------------------------------- (2.1)启动数据表CDC----
USE TestDB
GO
EXEC sys.sp_cdc_enable_table
    @source_schema= 'dbo',
    @source_name = 'TestTable',
    @role_name = NULL 
GO
----------------------------------(2.2)查看数据表CDC是否启用----
SELECT  name ,
        is_tracked_by_cdc ,
        CASE WHEN is_tracked_by_cdc = 0 THEN 'CDC功能禁用'
             ELSE 'CDC功能启用'
        END 描述
FROM    sys.tables
WHERE   OBJECT_ID= OBJECT_ID('TestTable')
----------------------------------(3)查询数据------
  SELECT TOP 1000 *  FROM [TestDB].[cdc].[dbo_TestTable_CT];--此表为默认生成
  
----------------------------------(4) 关闭表CDC----
USE TestDB
go
EXECUTE sys.sp_cdc_disable_table 
    @source_schema = 'dbo', 
    @source_name = 'TestTable',
    @capture_instance = 'dbo_TestTable'
go 

----------------------------------(5)关闭数据库CDC----
USE TestDB;
GO
EXECUTE sys.sp_cdc_disable_db;
GO
复制代码

 参考文章:

 https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008/bb510702(v=sql.100)

https://blog.csdn.net/yenange/article/details/49636215

https://blog.csdn.net/dba_huangzj/article/details/8130448

https://www.cnblogs.com/lyhabc/p/3383484.html

posted on   hhhh2010  阅读(2024)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示