目录
目录X
联系信息 首页 /正文内容

SiteAzure4.2升级到Webfuture11.0的数据库静态表清空处理操作

问题说明:

在SiteAzure4.2升级到Webfuture11.0的过程中,我们发数据库中的3个静态生成表数据库量非常大,导致升级过程变得非常慢,但是在webfuture产品中这一块已经做了优化变更,静态类数据也用不上,因此在做升级之前可以以下3个表数据清空处理,大大加快升级进度。


问题处理:


#TRUNCATE TABLE dbo.TableA;

PE_StaticHtmlManage_StaticHtmlGenerationTaskDetailLog 这个日志表可以直接用TRUNCATE TABLE来清空处理

另外俩个表处理起来就比较麻烦一点,TRUNCATE TABLE清理不了。因为有主外键关系。

如果是使用#DELETE FROM dbo.TableA;来删除表数据也会非常慢,不推荐。


#还有就是先删除外键再用TRUNCATE TABLE来删除表数据

1,通过以下生成drop外键脚本

SELECT
   'ALTER TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id)) + '.'
   + QUOTENAME(OBJECT_NAME(parent_object_id)) +
   ' DROP CONSTRAINT ' + QUOTENAME(name) + ';'
FROM sys.foreign_keys
WHERE referenced_object_id = OBJECT_ID('dbo.PE_StaticHtmlManage_StaticHtmlGenerationTask');


2,然后通过生成的脚本来执行删除外键。

-- 执行上一步生成的 DROP 语句


3,通过TRUNCATE TABLE来清空对应的表数据

TRUNCATE TABLE dbo.PE_StaticHtmlManage_StaticHtmlGenerationTask;


#另外一个表也是同样操作即可


以上仅用于sa4.2升级wf11.0过程中,主外键会彻底失去。操作之前务必备份数据库。


【打印正文】 发布时间:2026-01-28 11:41:13 浏览次数: 作者: 来源:本站原创