SQLSERVER:查询指定表是否有约束,如果有约束就先关闭约束,生成删除约束的SQL语句,和重新添加约束的语句

摘要:-- 查询指定表是否有约束,如果有约束就先关闭约束,生成删除约束的SQL语句,和重新添加约束的语句SQLServer2012 完整脚本:批量生成【禁用 FK / 删除 FK / 重建 FK】说明仅处理外键 FOREIGN KEY(主键 / 唯一 / Check 约束不处理);输出三段脚本:① 临时关闭校验(NOCHECK,仅跳过新增校验,不删约束)② 彻底删除外键约束(DROP CONSTRAINT,用于 TRUNCATE 主表)③ 重建恢

 SQLSERVER:查询指定表是否有约束,如果有约束就先关闭约束,生成关闭和恢复约束的SQL语句

摘要:-- 查询指定表是否有约束,如果有约束就先关闭约束,生成关闭约束的SQL语句,和 恢复外键约束的SQL语句SET NOCOUNT ON;-- 1. 目标表清单DECLARE @TableList TABLE(TableName NVARCHAR(200));INSERT INTO @TableList(TableName) VALUES('shukuinfo123'),('shukuinfo123StoreOrder'),('shukuinfo123_Update');PRINT '===================== 禁用外键约束 NOCHECK ===============

 SQLSERVER:源库CDC执行缓慢参数优化

摘要:CDC已严重积压+DTS 拉取慢​的场景下,更稳妥、安全的调整是:EXEC sys.sp_cdc_change_job     @job_type = 'capture',    @maxtrans = 2000,      -- 不要一上来就 5000    @maxscans = 1,         -- 关键:改成 1    @continuous = 1;-- 重启 Job 生效EXEC sys.sp_cdc_stop_job

 SQLSERVER:CDC常用查询脚本

摘要:DBCC SQLPERF(LOGSPACE);EXEC sys.sp_cdc_help_jobs;SELECTSUM(ps.used_page_count) * 8.0 / 1024 AS Total_CDC_Size_MBFROM sys.dm_db_partition_stats psJOIN sys.tables t ON t.object_id = ps.object_idWHERE t.schema_id = SCHEMA_ID('cdc');SELECTsession_id,start_time,tran_count,DATEDIFF(SECOND, last_commit_time, GETDATE()) AS current_latency_secFROM sys.dm_cd

 SQLSERVER:CDC捕获/清理作业参数调优

摘要:查看已生效的参数:EXEC sp_cdc_help_jobs 初始默认值:修改捕获作业参数(示例)USE shukuinfo;GOEXEC sys.sp_cdc_change_job    @job_type       = 'capture',    @maxtrans       = 5000,      -- 高写入量可适当增大(如2000~10000)    @maxscans       =

 SQLSERVER:CDC同步延迟问题排查处理

摘要:CDC 同步延迟 / 状态排查 SQL1. 查看捕获作业运行状态EXEC sys.sp_cdc_help_jobs;-- 关注 capture 行的 running(应为1)、maxtrans、pollinginterval若 running = 0,手动启动:EXEC sys.sp_cdc_start_job @job_type = 'capture';2. 查看最近日志扫描会话的延迟与吞吐-- 最近一次扫描的延迟(秒)和吞吐SELECT    session_id,    start_time,    en

 SQLSERVER:开启全量日志恢复功能-导致磁盘空间暴涨问题处理

摘要:SQLSERVER 2012 开启了:ALTER DATABASE [shukuinfo] SET RECOVERY FULL WITH NO_WAIT;数据库磁盘空间一直在上涨,如何解决?解决方案:方案A:生产环境 —— 保留 FULL 模式 + 配置日志备份(推荐)这是正确做法,既支持时间点恢复,又控制日志大小:-- 1. 做一次完整备份(如果是首次切 FULL 模式必须先做)BACKUP DATABASE shukuinfo TO DISK = 'D:\Backup\shukuin

 SQLSERVER 生产环境关闭CDC的完整流程(全库表关闭CDC)

摘要:-->>关闭shukuinfo库中,表中已开启CDC的功能一、先确认当前哪些表开启了 CDC(建议先看)USE shukuinfo;GOSELECT     s.name AS SchemaName,    t.name AS TableName,    t.is_tracked_by_cdcFROM sys.tables tJOIN sys.schemas s ON t.schema_id = s.schema_idWHERE t.is_tracked_by_cdc = 1;二、批量关闭所有表中已开启的 CDC推荐

 SQLSERVER 生产环境开启CDC的完整流程(全库表开启CDC)

摘要:-- 开启 CDC 的步骤:-- 第一步:开启数据库的 CDC 功能USE shukuinfo;GO-- 启用数据库级别的 CDCEXEC sys.sp_cdc_enable_db;GO-- 为库下的所有表开启CDC功能-- 声明变量DECLARE @tableName NVARCHAR(128);DECLARE @schemaName NVARCHAR(128);DECLARE @sql NVARCHAR(MAX);-- 游标遍历所有用户表DECLARE table_cursor CURSOR FORSELECT     s.name AS SchemaName

 SQLSERVER CDC原理与架构

摘要: SQL Server 2012 CDC 完整架构原理图 + 组件详解SQL Server 2012 CDC 底层架构与 2008 完全一致,仅新增 SSIS CDC 专用组件;核心依靠事务日志异步解析 + SQL Agent 双作业实现变更捕获。 一、官方标准 CDC 数据流总图(微软原版架构图)### 整体数据流链路1. 业务源表 (Source Tables):执行 INSERT/UPDATE/DELETE,变更先写入事务日志 (ldf),不阻塞业务表2. SQL
分页:« 1 2 3 4 5 6 7 8 9 10 »
Powered by AKCMS