IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker 安装SQL-SERVER2017 并启用CDC -> 正文阅读

[系统运维]Docker 安装SQL-SERVER2017 并启用CDC

SQL SERVER CDC功能(变更数据监听)

查看指定SQL SERVER数据库是否开启CDC功能

# 查看GPS数据库是否开启CDC

SELECT is_cdc_enabled,CASE WHEN is_cdc_enabled=0 THEN 'CDC功能禁用' ELSE 'CDC功能启用' END 描述
FROM sys.databases
WHERE NAME = 'GPS'

//--
SELECT name,is_cdc_enabled FROM sys.databases WHERE name=‘GPS’

SELECT name,is_cdc_enabled FROM sys.databases WHERE is_cdc_enabled=1

开启sql-server agent

开启此功能CDC 才能将数据库变更捕获保存到CDC记录表

/opt/mssql/bin/mssql-conf set sqlagent.enabled true
# 设置后,需要重启服务器(docker安装 见下文)

开启CDC功能

# 使用指定库 我这里为gps
use gps
# 执行命令
EXECUTE sys.sp_cdc_enable_db

Docker 安装SQL SERVER

docker pull microsoft/mssql-server-linux:2017-latest 
# 安装
# 说明
#-e ACCEPT_EULA = Y 设置ACCEPT_EULA变量为任何值,以确认你接受最终用户许可协议。 SQL Server 映像的必需设置。

#-e MSSQL_SA_PASSWORD =<YourStrong !Passw0rd> 指定你自己的强密码至少 8 个字符并达到SQL Server 密码要求。 SQL Server 映像的必需设置。
docker run -d -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=123456aA!' -p 1433:1433 --name sqlserver2017 -v /var/lib/mssql_data:/opt/mssql_data microsoft/mssql-server-linux:2017-latest

# 进入内部 开启代理  
docker exec -it sqlserver2017 "bash"
# 内部执行以下命令
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
# 退出容器
exit
# 重启容器
docker restart sqlserver2017

查看当前已经开启CDC的数据表

SELECT name,is_tracked_by_cdc FROM sys.tables WHERE is_tracked_by_cdc = 1;

开启表CDC

示例:

对'USRALMHS'表开启变更捕获

EXEC sys.sp_cdc_enable_table

@source_schema= 'dbo',      --源表架构

@source_name = 'USRALMHS',  --源表

@role_name = 'CDC_Role'     --角色(将自动创建)

GO

--如果不想控制访问角色,则@role_name必须显式设置为null。

image-20210608184336576

$operation说明

__$operation=2的情况,表示新增

__$operation=3或者4,表示更新,3表示旧值,4表示新值

__$operation=1的情况,表示删除

数据库操作详细流程

1、使用具有Sysadmin权限的用户执行以下语句:

-- 使用指定库
USE XXX
-- 执行命令
EXECUTE sys.sp_cdc_enable_db

2、当前数据库中创建变更数据捕获清理或捕获作业
EXEC [sys].[sp_cdc_add_job] @job_type = N'capture';
EXEC [sys].[sp_cdc_add_job] @job_type = N'cleanup';

3、为当前数据库中指定的源表启用变更数据捕获
 EXEC sys.sp_cdc_enable_table @source_schema= 'dbo',      --源表架构
@source_name = 'XXXXXX',  --源表
@role_name = 'XXXX'     --角色(如果这个角色没有将自动创建,也可显示指定为NULL,这样的话就不利用角色限制对更改数据的访问。
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 13:05:48  更:2021-08-18 13:07:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:59:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计